【发布时间】:2021-10-19 11:17:25
【问题描述】:
我有一个包含 200k pdf 文件的文件夹,我想将它们 tar。以下哪种解决方案会更好?我怀疑由于命令行长度限制,命令替换可能会遇到大量文件的问题。
tar -cf out.tar -T <(compgen -G '*.pdf')
Command Substitution(可能会打破命令长度限制?)
tar -cf out.tar `compgen -G '*.pdf'`
【问题讨论】:
-
为什么不使用
xargs和tar的追加模式呢?类似compgen -G '*.pdf' | xargs | tar --append -f out.tar。 -
第一个如果命令行长度是一个潜在的问题,当然。
-
@RenaudPacalet 那将是另一种选择,但流程替换对我来说似乎更简单
-
@Roland 当然。但是
xargs是专门为解决命令行长度限制而设计的。它还有其他一些不错的属性,例如 NUL 输入分隔符,如果您的某些文件的名称中有空格,您可能希望使用这些属性。
标签: linux bash tar command-substitution process-substitution