xargsがソートではなくechoで動作するのはなぜですか?

xargsがソートではなくechoで動作するのはなぜですか?

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まあ、改行があります。ユーザーごとに、しかし正直sedなところ、それはxargsの仕事ではなく、ユーザーが/ etc / passwdで自分でやりたいことをやっていますが、awkもちろんコマンドラインを使うべきです。 )

おすすめ記事