我有一个包含要使用tar存档的文件列表的文件。叫它吧mylist.txt
它包含了:
file1.txt
file2.txt
...
file10.txt
有没有一种方法可以发出将mylist.txt
输入作为输入的TAR命令?就像是
tar -cvf allfiles.tar -[someoption?] mylist.txt
这样就好像我发出以下命令一样:
tar -cvf allfiles.tar file1.txt file2.txt file10.txt
我有一个包含要使用tar存档的文件列表的文件。叫它吧mylist.txt
它包含了:
file1.txt
file2.txt
...
file10.txt
有没有一种方法可以发出将mylist.txt
输入作为输入的TAR命令?就像是
tar -cvf allfiles.tar -[someoption?] mylist.txt
这样就好像我发出以下命令一样:
tar -cvf allfiles.tar file1.txt file2.txt file10.txt
Answers:
是:
tar -cvf allfiles.tar -T mylist.txt
-L mylist.txt
在AIX上
您还可以通过管道输入可能有用的文件名:
find /path/to/files -name \*.txt | tar -cvf allfiles.tar -T -
某些版本的tar(例如,HP-UX上的默认版本(我测试了11.11和11.31))不包含用于指定文件列表的命令行选项,因此,一种不错的解决方法是:
tar cvf allfiles.tar $(cat mylist.txt)
cat
),简单来说$(<mylist.txt)
。
mylist.txt
很大,则可能会超过命令行的最大长度
tar -T <(<mylist.txt)
。像这样的答案多余。
对我来说,在AIX上,它的工作方式如下:
tar -L List.txt -cvf BKP.tar
-X
。exclude选项在旧的Unix tar命令中仍然存在,但是-I(包括)显然没有!