ubuntuusers.de

Dateien aus Unterverzeichnissen in ein Verzeichnis kopieren und umbenennung - Einzeiler möglich?

Status: Ungelöst | Ubuntu-Version: Ubuntu 14.04 (Trusty Tahr)
Antworten |

Muckel1986

Avatar von Muckel1986

Anmeldungsdatum:
31. Mai 2009

Beiträge: 198

Wohnort: Braunschweig

Guten Abend zusammen,

habe ein kleines Problem und komme auf keine funktionierende Lösung...

In einem Verzeichnis habe ich 11 Unterverzeichnisse (alle auf einer Ebene, also Nebeneinander) in denen ich Dateien habe. Nun möchte ich selbige kopieren und dabei den Dateinamen umbennnen. Nur das kopieren würde ja so klappen:

1
cp CD01/*.mp3 -v Zusammen/

Dabei behält er ja den ursprünglichen Dateinamen. Dies kann er auch, nur dass ich ihm etwas voransetzten möchte.

1
cp CD01/*.mp3 -v Zusammen/CD01-alter-Name.mp3

Also dachte ich, dass es mit 'nem "for-Einzeiler" klappen müsste:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
tobias@tobias-netbook:~/Musik/Hoerbuecher/Philip Pullmann - Der goldene Kompass$ for t in CD01/*.mp3 ; do cp $t Zusammen/CD-01$t; done
cp: das angegebene Ziel »Karaffe.mp3“ ist kein Verzeichnis
cp: das angegebene Ziel »Ankunft.mp3“ ist kein Verzeichnis
cp: das angegebene Ziel »Wein.mp3“ ist kein Verzeichnis
cp: das angegebene Ziel »Norden.mp3“ ist kein Verzeichnis
cp: das angegebene Ziel »Staub.mp3“ ist kein Verzeichnis
cp: das angegebene Ziel »Wissenschaftler.mp3“ ist kein Verzeichnis
cp: das angegebene Ziel »Asriel.mp3“ ist kein Verzeichnis
cp: das angegebene Ziel »Rektors.mp3“ ist kein Verzeichnis
cp: das angegebene Ziel »Jordan.mp3“ ist kein Verzeichnis
cp: das angegebene Ziel »Asriel.mp3“ ist kein Verzeichnis
tobias@tobias-netbook:~/Musik/Hoerbuecher/Philip Pullmann - Der goldene Kompass$

Leider habe ich da einen Fehler. Tausche ich cp mit echo um zu sehen ob wenigsten die Variable klappt, scheint es halbwegs zu klappen:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
tobias@tobias-netbook:~/Musik/Hoerbuecher/Philip Pullmann - Der goldene Kompass$ for t in CD01/*.mp3 ; do echo $t Zusammen/CD-01$t; done
CD01/01-Die Karaffe.mp3 Zusammen/CD-01CD01/01-Die Karaffe.mp3
CD01/02-Lord Asriels Ankunft.mp3 Zusammen/CD-01CD01/02-Lord Asriels Ankunft.mp3
CD01/03-Der verschüttete Wein.mp3 Zusammen/CD-01CD01/03-Der verschüttete Wein.mp3
CD01/04-Der Norden.mp3 Zusammen/CD-01CD01/04-Der Norden.mp3
CD01/05-Ein Vortrag über Staub.mp3 Zusammen/CD-01CD01/05-Ein Vortrag über Staub.mp3
CD01/06-Die Diskussion der Wissenschaftler.mp3 Zusammen/CD-01CD01/06-Die Diskussion der Wissenschaftler.mp3
CD01/07-Lyra und Lord Asriel.mp3 Zusammen/CD-01CD01/07-Lyra und Lord Asriel.mp3
CD01/08-Die Sorgen des Rektors.mp3 Zusammen/CD-01CD01/08-Die Sorgen des Rektors.mp3
CD01/09-Lyras Jordan.mp3 Zusammen/CD-01CD01/09-Lyras Jordan.mp3
CD01/10-Ein Gespräch mit Lord Asriel.mp3 Zusammen/CD-01CD01/10-Ein Gespräch mit Lord Asriel.mp3

Ein Slash (/) ist zuviel da. Wenn ich mit basename und ähnlichem anfange, dann müsste ich mir eine skript-Datei erstellen und könnte es nicht mehr als Einzeiler nutzen, oder?

Es geht halt nur darum, dass die folgenden Unterverzeichnisse "weg" müssten, deren Name aber an den Anfang der MP3en gesetzt werden müsste. Bei zweimal je 11 Verzeichnissen mit mehreren Dateien ist es per Hand zu viel arbeit.

1
2
tobias@tobias-netbook:~/Musik/Hoerbuecher/Philip Pullmann - Der goldene Kompass$ ls
CD01  CD02  CD03  CD04  CD05  CD06  CD07  CD08  CD09  CD10  CD11  Der goldene Kompass.txt  Zusammen

Im Terminal Fenster wäre es halt schneller, mit der Pfeiltaste den "Befehl" wieder auszurufen um dann die Zahl des Unterverzeichnisses zu ändern. Die *.sh mehrfach aufzurufen, ist nerviger, vorallem ich für die erstellung eh auch Hilfe bräuchte.

Das ganze nur, da ein MP3-Player die ID3-Tags nicht erkennt und ich bei dem nicht alle Unterverzeichnisse zum Abspielen einreihen kann. Daher muss ich alle in einem Verzeichnis haben und eben den Dateinamen ändern. Hoffe das war soweit verständlich.

Hoffe ihr könnt mir helfen!

Liebe Grüße Tobias

track

Avatar von track

Anmeldungsdatum:
26. Juni 2008

Beiträge: 7174

Wohnort: Wolfen (S-A)

Was Du da vorführst, ist ein köstliches Beispiel dafür, was passiert, wenn man das "Quoting" weglässt ... 😉

Lies Dich bitte mal hier in Greg's Wiki dazu ein, und dann guck Dir nochmal genau an, was Deine Schleife genau sieht und macht.
(ggf. auch mit einem set -x davor)

Es wird Dir wie Schuppen aus den Haaren fallen ! ☺

LG,

track

Antworten |