PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bash: wie kann man best. dateien verschieben?



CboyGeek
14.04.02, 13:55
Hallo allerseits!

Habe folgendes Problem, dass ich nicht gel*ste bekomme:

Ich habe im /home/tobi/pics sehr viele Unterordner mit .jpg Dateien und brauche jetzt einen Shell-Befehl, der mir all .jpg Dateien in sagen wir /home/tobi/pics/archive verschiebt.

Wer kann mir da mit dem richtigen Befehl weiterhelfen?

rbla
14.04.02, 14:21
find /home/tobi/pics -name \*.jpg | grep -v "/home/tobi/pics/archive" | xargs -i mv {} /home/tobi/pics/archive

erklärung:
1. find /home/tobi/pics -name \*.jpg
suche alle .jpg files unterhalb /home/tobi/pics

2. grep -v "/home/tobi/pics/archive"
lösche die dateien die schon an der richtigen stellen sind aus der liste

3. xargs -i mv {} /home/tobi/pics/archive
verschiebe jede datei nach /home/tobi/pics/archive


falls das zielverzeichnis kein unterordner ist, dann kannst du 2. weglassen

ronny

CboyGeek
19.04.02, 17:01
da hab ich aber leider das problem, dass er die pfade ins zielverzeichnis mitkopiert und ich möchte da ja nur die dateien ohne subfolder haben...

melody lee
19.04.02, 19:43
find /home/tobi/pics -name \*.jpg -exec cp \{\} /home/tobi/new_dir \;

Wobei ich in diesem Fall new_dir nicht in unter /home/tobi/pics legen würde.