在 xargs 手册页有一个用法示例
cut -d: -f1 < /etc/passwd | sort | xargs echo
为什么在这种情况下 echo 与 xargs 一起使用,而 sort 不与 xargs 一起使用,
即使两个命令都有相似的语法,其中参数跟随命令?
答案1
|
将左侧的输出与右侧的输入连接起来。
echo
打印它的参数。它不会对发送到其输入的数据执行任何操作。因此,xargs
是用来调用echo
带输入的。
sort
另一方面,不会对其参数进行排序,而是对其输入数据进行排序。
因此,直接将输入进行排序是有意义的。
(然而,xargs echo
真的没有意义。这实际上只是将 的输出转换sort
为参数,只是将它们转换回输出。不太确定这里的意图是什么:cut -d: -f1 < /etc/passwd | sort
会起到同样的作用;好吧,它之后会有一个换行符每个用户,但老实说,这不是 xargs 的工作,而是sed
or的工作awk
,它会直接在 /etc/passwd 上完成用户想要的事情,但是,我很漂亮;当然您对该命令行的敏感性不是很感兴趣,更多的是为什么 xargs 以这种方式使用。)