Doofe Frage: Wie Dateien aus Liste kopieren?

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
NoxTango
Beiträge: 10
Registriert: 28.06.2006 19:27:51
Wohnort: 41462 Neuss
Kontaktdaten:

Doofe Frage: Wie Dateien aus Liste kopieren?

Beitrag von NoxTango » 05.06.2007 09:59:56

Hallo liebes Forum,
Ich weiss grad nicht, wo ich eine so blöde Frage posten soll, aber ich hab grad ein Brett vorm Kopf :o(

Wie kann ich Dateien, deren Pfade in einer Listendatei gespeichert sind in exakt ein Zielverzeichnis kopieren?
Bei "cp" kann man scheinbar keine Liste angeben und ich bin noch nicht so ganz firm mit Pipes.

Die Datei sieht etwa so aus (Name: "Rocks1.lst"):

/srv/fs/Musik/Interpret1/Album-Sowieso/Titel-23.mp3
/srv/fs/Musik/Interpret5/Album-ganzanders/Titel-12.mp3
...


Das Zielverzeichnis ist "/media/USB1"

Ich möchte jetzt die Dateien, die in der Liste gespeichert sind auf meinen MP3-Player kopieren. Wie tun funktionieren?? Ich komm nicht drauf..

Gruß,
Daniel

PS: Wo kann man solche Fragen denn hier im Forum am besten stellen?

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 05.06.2007 10:11:25

hierhin :)

Eine Möglichkeit:

Code: Alles auswählen

IFS="
"
for i in `cat /pfad/zur/listendatei.txt`
do
    cp "$i" /zielpfad
done
(ist ungetestet.. bitte vorher im kleinen Testen
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

Benutzeravatar
herrchen
Beiträge: 3257
Registriert: 15.08.2005 20:45:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Re: Doofe Frage: Wie Dateien aus Liste kopieren?

Beitrag von herrchen » 05.06.2007 10:21:07

NoxTango hat geschrieben: Die Datei sieht etwa so aus (Name: "Rocks1.lst"):
[...]
Das Zielverzeichnis ist "/media/USB1"
andere möglichkeit:

Code: Alles auswählen

cat /pfad/zu/Rocks1.lst | xargs cp --target-directory=/media/USB1
/EDIT:
wenn deine dateinamen leerzeichen enthalten:

Code: Alles auswählen

xargs -d \\n -a /pfad/zu/Rocks1.lst cp --target-directory=/media/USB1

herrchen

Benutzeravatar
NoxTango
Beiträge: 10
Registriert: 28.06.2006 19:27:51
Wohnort: 41462 Neuss
Kontaktdaten:

Beitrag von NoxTango » 05.06.2007 11:11:18

Vielen Dank.

Muss noch ein bisschen mit Shell-Programmierung üben. Aber ihr wart mir schon eine Hilfe.

Gruß,
Daniel

Antworten