使用通配符进行Tar'ing,其中一种类型可能不存在

时间:2012-01-18 02:05:21

标签: linux shell tar

我有一个shell脚本来自动为几个目录创建单独的tar文件; cd'ing到每个并调用命令:

tar cf pakage1.tar *.csv *.fmt

大多数目录包含.fmt和.csv文件,我需要一个解决方案,当* .csv可能不存在但* .fmt时,因此需要tar。我没有找到'忽略通配符如果找不到'命令,是否存在?

提前谢谢你。

1 个答案:

答案 0 :(得分:3)

findxargs结合使用:

find . \( -name '*.csv' -or -name '*.fmt' \) -print0 | xargs -0 tar cf pakage1.tar

-print0-0使用空分隔符而不是空格,否则会阻塞带有空格的文件名。