不带任何参数执行“| xargs”有什么好处吗?

Ale*_*lex 1 bash xargs

我遇到过| xargs不带任何参数执行的脚本。我开始删除此类事件,因为脚本在没有它们的情况下也可以工作,但想验证我没有遗漏某些内容。也许 xargs 默认会清理某些字符等。

... | cut -d: -f2- | xargs
Run Code Online (Sandbox Code Playgroud)

有了以上这些还有什么意义吗| xargs?提前致谢。

use*_*001 5

如果没有任何参数,xargs会将输出中的所有行合并为一行,并删除多余的空格:

$ echo $'a   b\nb'
a   b
b

$ echo $'a   b\nb' | xargs
a b b
Run Code Online (Sandbox Code Playgroud)

请注意,只有当 xargs 的输入小于命令缓冲区的最大大小时,这才有效。请参阅下面的示例:

$ seq 100 | xargs | wc -l
1
$ seq 1000000 | xargs | wc -l
53
Run Code Online (Sandbox Code Playgroud)

  • 使用默认参数,“xargs”也可能会取消转义引号。 (2认同)