为什么 xargs -0 会添加一个额外的空行?

为什么 xargs -0 会添加一个额外的空行?

在示例中,为什么xargs -0要添加额外的空行,以及如何避免它?

$ touch a b c
$ find . -print0
../a./c./b
$ find . -print0 | sort --zero-terminated | xargs -0
. ./a ./b ./c
$ find . -print0 | sort --zero-terminated 
../a./b./c$ 

请注意,最后的输出是../a./b./c$ ,即$输入的符号在同一行上,没有换行。

答案1

因为xargs -0 == xargs -0 echo默认 echo 会在字符串末尾打印新行,

您可以使用以下命令获得相同的输出-n

find . -print0 | sort --zero-terminated | xargs -0 -n1 echo -n

相关内容