csh - xargs コマンド
xargs コマンドは標準入力やファイルからリストを読み込み、コマンドラインを作成し実行する。
たとえば、ファイル「filelist」にファイル名のリストが記録されているとする。
そのファイルに記録されたファイル名それぞれの内容を出力するには、以下のように書く。
cat filelist | xargs cat
ls コマンドで返ってきたファイルの内容を出力することも可。
ls test* | xargs cat
xargs コマンドは通常、引数がコマンドの最後に追加されていく。
引数が指定される場所を変更したいときは -I オプションを使う。
オプションは「-I ReplaceString」の形式で指定する。
ReplaceString が置換文字列を表す。
置換文字列は任意の文字列でよい。
たとえば次のように書くと、{} が置換文字列となる。
ls test* | xargs -I {} cat {} >> ret.txt
ls test* の実行結果が以下の場合
test1.txt
test2.txt
test3.txt
次のコマンドが実行されることになる。
cat test1.txt >> ret.txt
cat test2.txt >> ret.txt
cat test3.txt >> ret.txt
コマンドに指定したファイルが存在しなくても、後続のコマンドは実行されていく。
たとえば2番目のコマンドにある test2.txt が存在しなくても、test1.txt と test3.txt の内容は ret.txt に書き込まれる。