如何 grep 和复制名称中包含空格的文件
How to grep and copy files with spaces in their names
我有一些文件名中有空格。我想选择所有包含特定文本的文件,并将这些文件复制到另一个目录。我可以使用 grep
来完成第一部分,但无法将文件名列表传送到 cp
。 cp
总是根据空格对文件名进行切片。我试过 xargs --null
,但效果不佳。有什么实际的解决办法吗?
对 grep
和 xargs
使用 --null
选项:
grep --null --files-with-matches 'word' * | xargs --null cp -t "$target_dir"
--null
选项导致命令以零字节而不是换行符终止文件名。
我有一些文件名中有空格。我想选择所有包含特定文本的文件,并将这些文件复制到另一个目录。我可以使用 grep
来完成第一部分,但无法将文件名列表传送到 cp
。 cp
总是根据空格对文件名进行切片。我试过 xargs --null
,但效果不佳。有什么实际的解决办法吗?
对 grep
和 xargs
使用 --null
选项:
grep --null --files-with-matches 'word' * | xargs --null cp -t "$target_dir"
--null
选项导致命令以零字节而不是换行符终止文件名。