通常我会做这样的事情:
tar -czf archive.tar.gz *.csv
Run Code Online (Sandbox Code Playgroud)
但是当目录中有太多文件供 shell 在一行上展开时,这不起作用。
在这些情况下,我通常会求助于使用find. 就像是:
find /path -name '*.csv' -exec tar -rf "./archive.tar.gz" {} +;`
Run Code Online (Sandbox Code Playgroud)
但这似乎只有在我不包含该-z选项时才有效,因为您无法附加到压缩档案,并且使用-c代替-r将覆盖第一个档案,因为 find 多次运行 tar 。
我能想到的唯一其他解决方案是使用find(如上)创建一个 .tar 文件,然后使用第二个命令来压缩它。有没有更好的方法来处理这样的情况?
我正在使用 Ubuntu Linux。