我正在尝试使用 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 ...