Portál AbcLinuxu, 10. května 2025 11:15

Dotaz: Kopírování do více adresářů najednou

9.11.2006 12:17 Niedal
Kopírování do více adresářů najednou
Přečteno: 304×
Odpovědět | Admin
Existuje nějaká utilitka, či postup, jak nakopírovat soubory z jednoho zdroje do více adresářů najednou? Příklad: Obsah adresáře A chci nakopírovat do adresářů uživatelů B, C, D, X, Z.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

9.11.2006 12:36 ros
Rozbalit Rozbalit vše Re: Kopírování do více adresářů najednou
Odpovědět | | Sbalit | Link | Blokovat | Admin
for i in B C D X Z ; do cp -a A/* $i ; done
9.11.2006 14:12 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: Kopírování do více adresářů najednou
Odpovědět | | Sbalit | Link | Blokovat | Admin
Takže já bych na to šel asi tak:
# find A -type f -exec cp '{}' B \; -exec cp '{}' B \; -exec cp '{}' D \; -exec cp '{}' X \; -exec cp '{}' Z \;
Ovšem to je poněkud nepohodlné, co když je těch cílových adresářů trochu víc? Takže vyjděme z předpokladu že mám nějaký seznam výchozích adresářů SEZNAM:
#ADRESARE=$(for i in $(cat SEZNAM); do echo "-exec cp '{}' $i \;" ; done | tr '\n' ' ')
#PRIKAZ="find A -type f $ADRESARE"
#eval $PRIKAZ
Atp. V čem je rozdíl oproti předchozímu navrhovanému řešení? Především asi v tom že u toho co poslal kolega se nejprve nakopírují sobory uživateli B, pak uživateli D, atd. U tohoto řešení se kopírují jednotlivé soubory postupně. Je to jen velmi narychlo napsané, takže není ošetřena rekurze.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.