Tar归档,从文件列表中获取input
我有一个文件,其中包含我想用tar存档的文件列表。 我们称之为mylist.txt
它包含:
file1.txt file2.txt ... file10.txt
有没有一种方法可以发出TAR命令,将mylist.txt
作为input? 就像是
tar -cvf allfiles.tar -[someoption?] mylist.txt
这样就好像我发出这个命令一样:
tar -cvf allfiles.tar file1.txt file2.txt file10.txt
是:
tar -cvf allfiles.tar -T mylist.txt
假设GNU tar(因为这是Linux),- -T
或--files-from
选项就是你想要的。
您还可以input可能有用的文件名:
find /path/to/files -name \*.txt | tar -cvf allfiles.tar -T -
某些版本的tar(例如HP-UX上的默认版本(我testing过11.11和11.31))不包含用于指定文件列表的命令行选项,因此一个体面的解决方法是执行此操作:
tar cvf allfiles.tar $(cat mylist.txt)
在Solaris上,可以使用选项-I从文件中读取通常在命令行上声明的文件名。 与命令行相比,这可以创build数十万个文件的tar档案(就这样做了)。
所以这个例子会读
tar -cvf allfiles.tar -I mylist.txt
对于AIX来说,它的工作原理如下:
tar -L List.txt -cvf BKP.tar