Stellt euch folgendes Szenario vor: Ihr habt in unterschiedlichen Ordnern, die sich in einem gemeinsamen Ordner befinden, Dateien abgelegt, und möchtet nun diese Dateien in einen gemeinsamen Ordner verschieben, ohne die Information zu verlieren, in welchem Ordner sie vorher waren.

Oder als Baumstruktur formuliert:

.
├── Ablage1
│   ├── Dokument1.pdf
│   ├── Dokument2.pdf
│   └── Dokument3.pdf
├── Ablage2
│   ├── Dokument1.pdf
│   ├── Dokument2.pdf
│   └── Dokument3.pdf

soll in

.
├── Ablage1
├── Ablage2
├── Ablage1-Dokument1.pdf
├── Ablage1-Dokument2.pdf
├── Ablage1-Dokument3.pdf
├── Ablage2-Dokument1.pdf
├── Ablage2-Dokument2.pdf
└── Ablage2-Dokument3.pdf

umgewandelt werden (die beiden Ordner Ablage1 und Ablage2 sind leer und können ggf. gelöscht werden).

Unter Linux und OS X/macOS kann man über ein Terminal im Hauptverzeichnis (ggf. cd /pfad/zum/hauptverzeichnis) dies mit dem folgenden Skript erreichen:

start=$PWD; for directory in *; do cd "$directory"; for filename in *; do mv "$filename" ../"$directory-$filename"; done; cd "$start"; done;

Quelle: superuser.com

Deine Meinung zu diesem Artikel?