使用 find 处理包含空格的文件名时出现问题

使用 find 处理包含空格的文件名时出现问题

我正在尝试使用 find 命令运行 join 一堆文件。

我确定包含空格的文件名给我带来了问题。

以下命令适用于不包含任何空格的文件,但当文件名包含空格时会失败。

  find /media/primary/acronis_ntfs/flickr_01/. -type f -name '*.*' | xargs cat > /media/primary/acronis_ntfs/flickr_01.txt

我也尝试过不同的命令 - 所有命令都具有相同的结果。

  find /media/primary/acronis_ntfs/flickr_01/. -type f | xargs cat > /media/primary/acronis_ntfs/flickr_01.txt

如果我直接进入文件夹并运行

  cat * > flickr_01.txt

它有效 - 空间和所有。

我运行的是 ubuntu 16.10。

有什么建议么?

我因为一些我认为很简单的事情而掉头发。

答案1

让 find 使用 NUL 作为文件名之间的分隔符并告诉 xargs 查找相同的内容:

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

相关内容