如何复制包含空格和撇号的文件的管道列表?

如何复制包含空格和撇号的文件的管道列表?

我有一个使用生成的文件列表find,我想将其馈送到(管道)到cp.我的问题是文件中有空格和撇号,导致cp反复抱怨它“无法统计”。这个问题有优雅的解决方案吗?

答案1

确保 find 命令中有 -print0。

find . -print0 | xargs -0 cmd ...

答案2

另一种选择是跳过-print0和 管道,而是使用-exec cp {} path/to/dest/ +-exec cp {} path/to/dest \;命令进行查找。第一个{}立即替换为一大堆找到的文件名;第二个副本一次只能找到一个文件。这些命令存在于大多数查找实现中。

相关内容