[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 会删除换行符吗?
没有参数xargs
默认为回显传递给它的参数。
从手册页
本手册页记录了 xargs 的 GNU 版本。xargs 从标准输入读取项目,以空格(可以用双引号或单引号或反斜杠保护)或换行符分隔,并
/bin/echo
使用任何初始参数执行命令(默认为)一次或多次,后跟读取的项目标准输入。标准输入上的空行被忽略。
请注意有关“...默认为/bin/echo
...”的部分。
这就是xargs
. 它需要一个参数列表,通常由空格和换行符分隔(可以由其他分隔符分隔),并将它们重新打包为单个参数,优化参数以使它们适合 ARG_MAX 的空间值。