为什么 xargs 与 echo 一起使用,而不与 sort 一起使用?

为什么 xargs 与 echo 一起使用,而不与 sort 一起使用?

在 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 的工作,而是sedor的工作awk,它会直接在 /etc/passwd 上完成用户想要的事情,但是,我很漂亮;当然您对该命令行的敏感性不是很感兴趣,更多的是为什么 xargs 以这种方式使用。)

相关内容