私はこれについてかなり混乱しています。いくつかの説明が必要です。
例 1 :
pgrep string | xargs ps
例 2 :
find . | xargs grep whatever
例 1 から、次のようになります。
実行中のプロセスの名前の一部である「文字列」を検索し、すべての一致のプロセス ID を 'xargs ps' に返します -> ps を一致 (プロセス ID 自体) に追加して同じものを取得します次のように出力します。
ps <processid>
この場合、誰かが xargs が実際に何をするのか説明できますか?
例 2 から、次のようになります。
現在の作業ディレクトリから再帰的に「文字列」を検索することです。ここで、「xargs」はどのように機能しますか?
私は、「xargs」は標準入力からのデータを xargs (通常はそれ自体が UNIX コマンド) に与えられた「引数」に繰り返し追加するという意見でした。
xargs() のマニュアルページから:
xargs は、空白 (二重引用符、単一引用符、またはバックスラッシュで保護できます) または改行で区切られた標準入力から項目を読み取り、コマンド (デフォルトは /bin/echo) を 1 回以上実行し、その後に任意の初期引数が続きます。標準入力から読み込まれた項目によって。標準入力の空白行は無視されます。