Shell-Skript zum "intelligenten" Kopieren

Shell-Skript zum "intelligenten" Kopieren

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 *.eyetventhalten ..mpg00000000144ad5e9.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'

mcpist enthalten inmmvPaket. Standardmäßig mmvist es in Ubuntu nicht installiert, aber Sie können es mit dem folgenden Befehl vom Terminal aus installieren:

sudo apt-get install mmv

Sehenman mmvFür mehr Information.

verwandte Informationen