我有一个文件,其中包含我想用tar存档的文件列表。 我们称它为mylist。txt

它包含:

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

是否有一种方法,我可以发出TAR命令,以mylist.txt作为输入? 类似的

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

因此,它类似于我发出这个命令:

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

当前回答

对于AIX上的我来说,它的工作原理如下:

tar -L List.txt -cvf BKP.tar

其他回答

在Solaris上,可以使用选项-I从文件中读取通常在命令行中声明的文件名。与命令行相反,这可以创建包含数十万个文件的tar存档(刚刚完成了)。

这个例子是这样的

tar -cvf allfiles.tar -I mylist.txt

你也可以通过管道输入文件名,这可能会很有用:

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

对于AIX上的我来说,它的工作原理如下:

tar -L List.txt -cvf BKP.tar

假设GNU tar(因为这是Linux),您需要的是-T或——files-from选项。

某些版本的tar,例如,HP-UX上的默认版本(我测试了11.11和11.31),不包括命令行选项来指定文件列表,所以一个体面的解决方法是这样做:

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