it-swarm.com.de

Tar-Archivierung, die Eingaben aus einer Liste von Dateien entgegennimmt

Ich habe eine Datei mit einer Liste von Dateien, die ich mit tar archivieren möchte. Nennen wir es mylist.txt

Es beinhaltet:

file1.txt
file2.txt
...
file10.txt

Gibt es eine Möglichkeit, einen TAR-Befehl auszuführen, der mylist.txt als Eingabe? So etwas wie

tar -cvf allfiles.tar -[someoption?] mylist.txt

So ist es ähnlich, als ob ich diesen Befehl erteile:

tar -cvf allfiles.tar file1.txt file2.txt file10.txt 
133
neversaint

Ja:

tar -cvf allfiles.tar -T mylist.txt
216
Martin York

Angenommen, GNU tar (da dies Linux ist), wird der -T oder --files-from Option ist was Sie wollen.

81
Simon Richter

Sie können auch die Dateinamen eingeben, die nützlich sein könnten:

find /path/to/files -name \*.txt | tar -cvf allfiles.tar -T -
27
woot

Einige Versionen von tar, z. B. die Standardversionen unter HP-UX (ich habe 11.11 und 11.31 getestet), enthalten keine Befehlszeilenoption zum Angeben einer Dateiliste.

tar cvf allfiles.tar $(cat mylist.txt)
13
barush

Unter Solaris können Sie die Option -I verwenden, um die Dateinamen, die Sie normalerweise in der Befehlszeile angeben würden, aus einer Datei zu lesen. Im Gegensatz zur Befehlszeile können hiermit Tar-Archive mit Hunderttausenden von Dateien erstellt werden (haben das gerade getan).

Das Beispiel würde also lauten

tar -cvf allfiles.tar -I mylist.txt
5
Jan

Bei mir unter AIX hat es folgendermaßen funktioniert:

tar -L List.txt -cvf BKP.tar
2
Cassiano Bucci