Linux – 将备份分成两步

我使用tar zcf arhive.tar.gz dir/创build一个tarball,并且这个工作正常。 现在我想把它分成两个简单的档案,一个只用于图像,另一个 – 用于其他的。

似乎没有一个简单而干净的方法来做到这一点。 对于tar我只能排除文件,这是不合理的排除除gif,jpg和png之外的每个扩展名。

要包括我必须用任何 – exec| xargs find | xargs 。 这种有点作品,但打破如果文件名有空格或特殊字符(撇号,引号)。 所以现在我必须把所有的文件名都放进awk ,然后手动转义它们。

我错过了什么? 为什么这么复杂?

我只想要tar zcf archive-images.tar.gz dir/ --match-only=*.png

使用find ... -print0 | xargs -0 tar... find ... -print0 | xargs -0 tar...这两个选项存在,以处理与空格的文件名。