Hallo,
ich habe folgendes Problem: Ich möchte alle Dateien aus den Verzeichnissen _unter_ dem aktuellen Verzeichnis _in_ das aktuelle verschieben.
Beispiel
/tmp/test/datei.jpg
/tmp/test/a/a.jpg
/tmp/test/b/b.jpg
/tmp/test/c/c.jpg
...
jetzt wechsele ich in /tmp/test (cd /tmp/test) und hätte gerne ein Einzeiler, so dass die Struktur dann so aussieht:
/tmp/test/datei.jpg
/tmp/test/a.jpg
/tmp/test/b.jpg
/tmp/test/c.jpg
Die leeren Verzeichnisse brauchen nicht gelöscht zu werden. Dass geht ja problemlos mit einem Dateimanager. Nur das Verschieben ist eine Menge Arbeit! Sicher gibt es dafür einen einfachen Einzeiller?
Ich habe dabei an find gedacht.
kleines Shell-Script Problem: Verschieben von Dateien
Re: kleines Shell-Script Problem: Verschieben von Dateien
Code: Alles auswählen
mv /tmp/test/*/* /tmp/test
Zuletzt geändert von Liffi am 10.12.2011 11:31:51, insgesamt 1-mal geändert.
Re: kleines Shell-Script Problem: Verschieben von Dateien
'man find'
Findet Dateien mindestens ein Verzeichnis tief und verschiebt sie ins aktuelle
Code: Alles auswählen
find . -mindepth 2 -type f -exec mv {} . \;
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
Re: kleines Shell-Script Problem: Verschieben von Dateien
Anmerkung zum find über mir:
Mit -type d könntest du dann auch noch gleich die Verzeichnisse löschen.
Mit -type d könntest du dann auch noch gleich die Verzeichnisse löschen.
Re: kleines Shell-Script Problem: Verschieben von Dateien
Danke für die Vorschläge!
Darauf, dass es eine Option '-exec' bei find gibt, wäre ich nie gekommen (und habe deshalb auch nicht weiter in der manpage geforscht). Ich wollte das Ergebnis von find mit externen Programmen weiter auswerten.
Darauf, dass es eine Option '-exec' bei find gibt, wäre ich nie gekommen (und habe deshalb auch nicht weiter in der manpage geforscht). Ich wollte das Ergebnis von find mit externen Programmen weiter auswerten.