kleines Shell-Script Problem: Verschieben von Dateien

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Kermit24
Beiträge: 311
Registriert: 29.04.2006 14:44:39

kleines Shell-Script Problem: Verschieben von Dateien

Beitrag von Kermit24 » 10.12.2011 11:06:01

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.

Liffi
Beiträge: 2345
Registriert: 02.10.2004 01:33:05

Re: kleines Shell-Script Problem: Verschieben von Dateien

Beitrag von Liffi » 10.12.2011 11:23:36

Code: Alles auswählen

mv /tmp/test/*/* /tmp/test
EDIT:: Ich betrachte damit aber nur Dateien aus _direkten_ Unterverzeichnissen.
Zuletzt geändert von Liffi am 10.12.2011 11:31:51, insgesamt 1-mal geändert.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: kleines Shell-Script Problem: Verschieben von Dateien

Beitrag von rendegast » 10.12.2011 11:25:44

'man find'

Code: Alles auswählen

find . -mindepth 2 -type f -exec mv {} . \;
Findet Dateien mindestens ein Verzeichnis tief und verschiebt sie ins aktuelle
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
crhn
Beiträge: 67
Registriert: 30.04.2011 12:24:27
Lizenz eigener Beiträge: MIT Lizenz

Re: kleines Shell-Script Problem: Verschieben von Dateien

Beitrag von crhn » 10.12.2011 12:04:57

Anmerkung zum find über mir:
Mit -type d könntest du dann auch noch gleich die Verzeichnisse löschen.

Kermit24
Beiträge: 311
Registriert: 29.04.2006 14:44:39

Re: kleines Shell-Script Problem: Verschieben von Dateien

Beitrag von Kermit24 » 10.12.2011 21:37:15

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.

Antworten