Sida 1 av 1

Kopiera från nästade kataloger till platt

Postat: 26 nov 2012, 20:31
av mara
Hej,
jag har genom att använda mindre begåvade fotoprogram fått mina bilder "organiserade" i en massa mappar med undermappar med undermappar. Jag skulle vilja leta igenom alla mappar rekursivt och kopiera samtliga filer till en mapp. Om det finns dubletter vill jag hoppa över dem.

Jag har försökt så här:

Kod: Markera allt

for i in $(find . -old_folder "*"); do cp -u $i new_folder; done
Problemet är att dessutom har en massa mappar med mellanslag i namnen, och då skiter sig ovanstående. Finns det något sätt att lösa detta.

Jag vill dessutom gärna spara resultatet i en loggfil.

Re: Kopera från nästade kataloger till platt

Postat: 26 nov 2012, 22:13
av Konservburk
mara skrev:Problemet är att dessutom har en massa mappar med mellanslag i namnen, och då skiter sig ovanstående. Finns det något sätt att lösa detta.

Jag vill dessutom gärna spara resultatet i en loggfil.
Problemet med eventuella mellanrum i filnamnen kan du komma runt genom att använda find -exec istället för for med find, t.ex:

Kod: Markera allt

find gammal_mapp/ -type f -exec cp -vut ny_mapp/ {} + | tee logfil.txt

Re: Kopiera från nästade kataloger till platt

Postat: 27 nov 2012, 12:45
av mara
Klockrent! Tack så mycket :)