xargsを使用する利点

xargsを使用する利点

xargsなしでfindコマンドを実行するとしましょう。

find . -iname 'connect*' > cat output.txt

質問1. xargsコマンドを使用してfindコマンドの出力をテキストファイルにコピーするにはどうすればよいですか? 2.コマンドを使用することの利点は何xargsですか?>

次のいずれかを試しましたが、正しいようではありません。

find . -iname 'connect*'  | xargs -t cat > output.txt

ベストアンサー1

xargs標準入力とコマンドラインから文字列を取得します。 stdinの文字列をコマンドラインの引数として使用してコマンドラインを実行します。基本的に間接参照を行っています。ファイル名のリスト(たとえば、作成済み)がある場合は、複数のテキストファイルから上位20の単語頻度リストを取得するのと同じようにfind使用できます。xargs

find . -name '*.txt' | xargs cat | tr -s '[:blank:]' '\n' | sort | uniq -c | sort -k1.1nr | head -20

質問1のタスクを実行する価値があるかどうかはわかりません。私はそれができると確信していますが、なぜ面倒なのですか?これが質問2に対する答えです。パフォーマンスや意図の明確さの点で利点はありません。

一般的に使用の利点は、xargs標準入力に入れるファイル名を決定する複雑な操作を実行できることです。find作成時間や複数の名前などを追加できます。ファイル名の静的リストのみを使用すると、得られる利点が無効になります。xargsループで実行するcatコマンドを使用または実行する方が良いです。xargs

おすすめ記事