逆引きコマンド 項目

「初心者マークのUNIX/Linux」へ 一覧 掲示板 リンク 検索方法

標準入力に与えられた文字列の空白、改行を区切りにコマンドに入力したい

xargs
というコマンドを用いる。
例えばgrep -lを用いて、abcという語が含まれているファイル名のみを表示する。
grep -l 'abc' *.txt
これの標準出力が
a.txt b.txt c.txt
だったとして、これらをまとめてあるコマンドに渡したい時、
grep -l 'abc' *.txt|xargs コマンド
のようにxargsを通して、コマンドに与えることができる。すなわち、
コマンド a.txt
コマンド b.txt
コマンド c.txt
をいっぺんに行なうことができる。
また、例えば、あるファイルhogeにファイル名を書いておいて、
a.txt
b.txt
c.txt

これを
xargs コマンド < hoge
のようにすることもできる。このように空白か改行で区切られた単語を一つ一つコマンドに与えてくれるという便利なコマンドである。

Google