Settembrini
Anmeldungsdatum: 28. März 2013
Beiträge: Zähle...
|
Hallo Zusammen. Meine Frage mag für den ein oder anderen Linux-Spezi vielleicht simpel sein, aber ich arbeite noch nicht so lange mit dem Terminal. Daher folgendes Anliegen. Ich möchte gerne die Titel einer Playlist auf meinen SanDisk-MP3-Player kopieren. Die Ordner-Struktur "/Interpret/Album/Titel/" soll dabei aber gleich bleiben. Zur Verdeutlichung: Ordnerstruktur auf dem Rechner: | ~/Musik/Interpret/Album/Titel.mp3
|
Angestrebte Ordnerstruktur auf dem Player: | /media/user/SanDisk/MUSIC/Interpret/Album/Titel.mp3
|
Gibt es eine Möglichkeit, das elegant im Terminal umzusetzen? Danke für Anregungen!
|
xubuntufriese
Anmeldungsdatum: 3. Mai 2014
Beiträge: 340
|
Das geht bestimmt - man muß aber wissen wie die Playlist aussieht. Ist es eine playlist.m3u oder eine playlist.xspf oder ...? Am besten mal eine Playlist generieren mit 2-3 Titeln und das Ergebnis von "cat playlist.foo" hier im Codeblock posten.
|
xubuntufriese
Anmeldungsdatum: 3. Mai 2014
Beiträge: 340
|
Äh, nochwas. Du müsstest auch wissen ob bei Dir die Titel alle als einzelne Files rumliegen, oder ob eventuell auch mal ein ganzes Album in einem File steckt. Beispiel anhand einer m3u: cat testplaylist.m3u
#EXTM3U
#EXTINF:239,David Longdon - Always
Musik/abcde/David_Longdon_-_Wild_River/Wild_River.mp3
#EXTINF:188,Fuhrs & Frohling - Ammerland
Musik/abcde/Fuhrs_&_Frohling_-_Ammerland_(1978)/01. Ammerland.mp3
ls Musik/abcde/David_Longdon_-_Wild_River/
Wild_River.cue Wild_River.mp3
ls Musik/abcde/Fuhrs_\&_Frohling_-_Ammerland_\(1978\)/
01. Ammerland.mp3 02. Gentle Breeze.mp3 03. Dance Of The Leaves.mp3 04. Street Dance.mp3 05. Sarabande.mp3 06. Circles Of Love.mp3 07. Every Land Tells A Story.mp3 08. Ammernoon.mp3 Du siehst den Unterschied und die daraus entstehende Schwierigkeit?
|
lubux
Anmeldungsdatum: 21. November 2012
Beiträge: 13893
|
Settembrini schrieb: Ich möchte gerne die Titel einer Playlist auf meinen SanDisk-MP3-Player kopieren.
Meinst Du evtl., dass Du mp3-Dateien aus einem Verzeichnis des Rechners, in ein anderes Verzeichnis des Rechners kopieren willst (und danach für diese kopierten mp3-Dateien auch eine Playlist erstellen willst)? EDIT: Die neue Playlist kannst Du z. B. mit:
find /media/user/SanDisk/MUSIC/Interpret/Album -iname '*.mp3' | sed 's/\.\///;' | sort > my_playlist_1.pls
erstellen.
|
Settembrini
(Themenstarter)
Anmeldungsdatum: 28. März 2013
Beiträge: 92
|
Nicht ganz. Mein Anliegen ist folgendermaßen: Im Musikordner meines Rechners sind MP3s entsprechend diesem Pfand abgelegt: | ~/Musik/Interpret/Album/Titel.mp3
|
Die Ausgangssituation auf meinem MP3-Player sieht folgendermaßen aus: | /media/user/SanDisk/MUSIC/
|
Nun ist es ja durch entsprechende Software nicht schwer eine M3U-Datei zu generieren. Die sieht bei mir typischerweise so aus: 1
2
3
4
5
6
7
8
9
10
11
12
13 | #EXTM3U
#EXTINF:275,Dave Matthews Band - American Baby
~/Musik/Dave_Matthews_Band/Stand_Up/05-American_Baby.mp3
#EXTINF:185,Beatsteaks - Disconnected
~/Musik/Beatsteaks/Living_Targets/07-Disconnected.mp3
#EXTINF:274,Martin Gallop - Grindstone
~/Musik/Gallop_Martin/How_Much_Is_the_World/03-Grindstone.mp3
#EXTINF:192,Tomte - Heureka
~/Musik/Tomte/Heureka/01-Heureka.mp3
|
Nun möchte ich gerne die entsprechenden MP3-Dateien auf den Player exportieren, ohne das die die Ordner Struktur | /Interpret/Album/Titel.mp3
|
verloren geht, es also auf dem Player am Ende so aussieht: | /media/user/SanDisk/MUSIC/Interpret/Album/Titel.mp3
|
|
lubux
Anmeldungsdatum: 21. November 2012
Beiträge: 13893
|
Settembrini schrieb: Nun möchte ich gerne die entsprechenden MP3-Dateien auf den Player exportieren, ohne das die die Ordner Struktur | /Interpret/Album/Titel.mp3
|
verloren geht, es also auf dem Player am Ende so aussieht: | /media/user/SanDisk/MUSIC/Interpret/Album/Titel.mp3
|
Du könntest auf dem Player (in "/media/user/SanDisk/MUSIC/") die Unterverzeichnisse erstellen und danach die Dateien kopieren.
|
Settembrini
(Themenstarter)
Anmeldungsdatum: 28. März 2013
Beiträge: 92
|
Klar könnte man das alles "per Hand" machen, aber der Reiz besteht ja nun darin, das Ganze zu Automatisieren, oder wohin zielte deine Antwort?
|
lubux
Anmeldungsdatum: 21. November 2012
Beiträge: 13893
|
Settembrini schrieb: Klar könnte man das alles "per Hand" machen, aber der Reiz besteht ja nun darin, das Ganze zu Automatisieren, oder wohin zielte deine Antwort?
Ja, das könnte man mit einem Script oder mit diversen Linux-tools "automatisieren". Aber das muss man auch erstmal "per Hand" gemacht werden und geht m. E. nicht schneller als mit "mkdir" und "cp" (... wenn man es nur einmal braucht). Wenn es dir aber grundsätzlich (nur) um "automatisieren" bzw. um "elegant" geht, dann hättest Du dein Anliegen (im 1. Beitrag) evtl. auch anders (evtl. allgemeiner) formulieren können, damit man das auch so versteht.
|
Settembrini
(Themenstarter)
Anmeldungsdatum: 28. März 2013
Beiträge: 92
|
Darum ging es mir. Ich bin noch nicht so fit mit dem Terminal. Wie könnte ich das Ganze denn mit cp und mkdir umsetzten. Ich müsste ja irgendwie den Pfad für jede MP3 einzeln setzen, weil er ja von Fall zu Fall variiert.
|
lubux
Anmeldungsdatum: 21. November 2012
Beiträge: 13893
|
Settembrini schrieb: Ich müsste ja irgendwie den Pfad für jede MP3 einzeln setzen, weil er ja von Fall zu Fall variiert.
Hast Du mal ein Beispiel, aus dem ersichtlich ist wie der Pfad von Fall zu Fall variiert?
|
Settembrini
(Themenstarter)
Anmeldungsdatum: 28. März 2013
Beiträge: 92
|
Naja ... die verschiedenen Pfade sieht man doch in der M3U. Der Interpret, das Album sind ja von Fall zu Fall unterschiedlich.
|
lubux
Anmeldungsdatum: 21. November 2012
Beiträge: 13893
|
Settembrini schrieb: Naja ... die verschiedenen Pfade sieht man doch in der M3U. Der Interpret, das Album sind ja von Fall zu Fall unterschiedlich.
Du könntest z. B. tar benutzen.
Im richtigen Verzeichnis (~/Musik) ein archiv erstellen das die Pfade & Co. ab hier beinhaltet und dann mit -C ins gewünschte Verzeichnis entpacken. Z. B.:
cd ~/Musik && tar -cf mytriagearchiv.tar * && tar -xf mytriagearchiv.tar -C /media/user/SanDisk/MUSIC && rm mytriagearchiv.tar
Vor dem produktiven Einsatz testen, um festzustellen ob es so funktioniert bzw. evtl. noch optimiert werden kann.
|
xubuntufriese
Anmeldungsdatum: 3. Mai 2014
Beiträge: 340
|
lubux schrieb: Settembrini schrieb: Naja ... die verschiedenen Pfade sieht man doch in der M3U. Der Interpret, das Album sind ja von Fall zu Fall unterschiedlich.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 | #!/bin/bash
dest="/media/$USER/SanDisk/MUSIC"
egrep -v "^#" "$1" > temp_file
lines=$(wc -l < temp_file)
for ((b=1;b<=$lines;b++)); do
sound_file=$(sed -n "${b}p;${b}q" temp_file)
echo "$sound_file" #nur zum testen
sound_file=$(echo $sound_file | awk -v h="/home/$USER" '{sub(/^\~/, h, $0); print $0}')
echo "$sound_file" #nur zum testen
interpret=$(echo "$sound_file" | awk -v FS="/" '{print $(NF-2)}')
echo "$interpret" #nur zum testen
album=$(echo "$sound_file" | awk -v FS="/" '{print $(NF-1)}')
echo "$album" #nur zum testen
if [ ! -d "$dest"/"$interpret" ]; then
mkdir "$dest"/"$interpret"
fi
if [ ! -d "$dest"/"$interpret"/"$album" ]; then
mkdir "$dest"/"$interpret"/"$album"
fi
cp "$sound_file" "$dest"/"$interpret"/"$album"
done
rm temp_file
|
Speichern als zB playlist.sh in dem Verzeichnis wo auch die Playlist liegt, ausführbar machen. ./playlist.sh playlist.m3u HTH
|