Siduction Forum

Siduction Forum => Software - Support => Topic started by: harley-peter on 2021/12/12, 22:51:03

Title: Alle Ordner und Unterordner auf eine Ebene
Post by: harley-peter on 2021/12/12, 22:51:03
Hallo,
mein schon etwas älteres Musiksystem kann bei Random Play mit Ordnern leider nichts anfangen, so dass für dieses System alle Titel auf einer Ebene liegen müssen. Wie schaffe ich es mit möglichst wenig Aufwand, alle Titel (Dateien) in den Ordnern und Unterordnern auf eine Ebene zu bekommen und die dann leere Ordnerstruktur zu löschen?
Bestimmt könnte man dafür ein Script schreiben aber leider fehlen mir dafür die Kenntnisse. Danke für einen Tip.

Gruß
Peter
Title: Re: Alle Ordner und Unterordner auf eine Ebene
Post by: Geier0815 on 2021/12/13, 11:33:13
Hmm, ich würde da mit etwas in der Art
Code: [Select]
find ./ -name "*.mp3" | xargs -I{} cp {} ziel/ arbeiten. Sprich Du gehst in deine höchste Ebene deiner Sammlung, suchst per find nach sämtlichen mp3s und übergibst das per xargs an den cp Befehl der das dann in den gewünschten Ziel-Ordner kopiert. Könntest Du auch mit mv machen aber ich würde da mit cp arbeiten und dann gucken wie viele Sachen nicht funktioniert haben, wegen möglichen Problemen mit Sonderzeichen im Namen und ähnlichen Scherzen.
Mußt halt gucken ob dir das so schon langt.
Title: Re: Alle Ordner und Unterordner auf eine Ebene
Post by: harley-peter on 2021/12/18, 13:51:14
Hi Geier0815,

hat gut angefangen und dann nach etlichen Liedern abgebrochen mit der Meldung
Code: [Select]
xargs: Fehlendes korrespondierendes Anführungszeichen einfache; per Vorgabe sind Anführungszeichen für xargs bestimmt, sofern Sie nicht die Option -O verwenden
Wenn ich allerdings versuche, die Option -0 mit einzubauen (...xargs -0 -I{}....) dann sagt das Terminal, dass die Argumentzeile zu lang ist.
Zu suchen, welcher Titel jetzt Anführungszeichen hat um ihn umzubenennen, ist bei ca. 2500 Liedern ziemlich mühsam, zumal die Ordner ziemlich willkürlich durchsucht wie mir scheint.