Ich arbeite an einem Shell-Skript. Zum Hintergrund: Ich habe mit meinem Mac viele Songs aus dem Radio aufgenommen. Jeder Song ist eine „Datei“ auf meinem Mac. Eigentlich sind diese „Dateien“ nur Ordner, die eine Datei mit einem kryptischen Dateinamen wie und einigen Metadaten *.eyetv
enthalten ..mpg
00000000144ad5e9.mpg
Die Aufnahmen sind in mehreren Ordnern organisiert, die jeweils etwa 20 Aufnahmen enthalten (eine Audio-CD). Alle diese Ordner befinden sich auf einem NAS.
Ich versuche ein Skript zu schreiben, das Ordner auf meinem Mac erstellt und dann die MPGs in diese Ordner kopiert.Umbenennungsie auf den Namen ihres übergeordneten Verzeichnisses.
Verzeichnisstruktur auf dem NAS für das Beispiellied " Set fire to the Rain
": /music/recordings1/Set Fire to the Rain - ADELE.eyetv/00000000144ad5e9.mpg
(und einige Metadaten für EyeTv)
Gewünschte Struktur auf meiner Festplatte nach dem Kopieren: /home/me/music/recordings1/Set fire to the Rain.mpg
Mein (nicht funktionierender) Code bisher:
dirname=$(basename `pwd | tr ' ' '_'`.eyetv)
mkdir ~/Musik/$dirname
find . -name '*.eytv' | xargs -0 -i cd {} | find . -name ????????????????.mpg -print0 | xargs -0 -i cp -v {} ~/Musik/$dirname/$(basename `pwd | tr ' ' '_'`.mpg)
Viele Grüße und vielen Dank im Voraus, Markus
Antwort1
Sie können Folgendes verwenden mcp
:
mcp -v '/music/recordings1/* - *.eyetv/*.mpg' '/home/me/music/recordings1/#1.mpg'
mcp
ist enthalten inmmv
Paket. Standardmäßig mmv
ist es in Ubuntu nicht installiert, aber Sie können es mit dem folgenden Befehl vom Terminal aus installieren:
sudo apt-get install mmv
Sehenman mmv
Für mehr Information.