如果不带任何参数使用 xargs 会做什么?

gas*_*ter 3 xargs

[user@notebook ~] echo -e '1\n2\n3\n4'
1
2
3
4
[user@notebook ~] echo -e '1\n2\n3\n4' | xargs
1 2 3 4
[user@notebook ~] 
Run Code Online (Sandbox Code Playgroud)

我的问题:所以如果不带参数使用 xargs 会删除换行符吗?

slm*_*slm 5

没有参数xargs默认为回显传递给它的参数。

从手册页

本手册页记录了 xargs 的 GNU 版本。xargs 从标准输入读取项目,以空格(可以用双引号或单引号或反斜杠保护)或换行符分隔,并/bin/echo使用任何初始参数执行命令(默认为)一次或多次,后跟读取的项目标准输入。标准输入上的空行被忽略。

请注意有关“...默认为/bin/echo...”的部分。

删除换行符?

这就是xargs. 它需要一个参数列表,通常由空格和换行符分隔(可以由其他分隔符分隔),并将它们重新打包为单个参数,优化参数以使它们适合 ARG_MAX 的空间值。