xargs(1) FreeBSD 一般コマンドマニュアル

xargs

前のページ 上に戻る 次のページ

xargs


           [utility [argument ...]]


解説

     xargs コマンドは空白、タブ、改行、EOF (end-of-file) で区切られた引数を標
     準入力から読み込み、指定した utility にその引数をつけて実行します。

     コマンドラインで指定されたユーティリティ名と引数は、 utility コマンドに渡
     されます。ユーティリティに続く引数は標準入力から得られます。 utility は標
     準入力を読み切るまで繰り返し実行されます。

     空白、タブ、改行はシングルクオート (`` ' '') やダブルクオート (``"'') や
     バックスラッシュ (``\'') を使って埋め込むことができます。シングルクオート
     は次のシングルクオートにマッチするまで、改行とシングルクオートを除く全て
     の文字をエスケープします。ダブルクオートは次のダブルクオートにマッチする
     まで改行とダブルクオートを除く全ての文字をエスケープします。改行を含む全
     ての文字はバックスラッシュでエスケープされます。

     オプションは以下のものがあります:

     -0      空白と改行ではなくヌル文字 (``\0'') を区切りとするように xargs に
             指示します。 find(1)-print0 とともに用います。

     -J replstr
             本オプションが指定されると、 xargs は、標準入力から読み込んだデー
             タを他のすべての引数の後に追加する代りに、このデータを最初の
             replstr と置き換えます。本オプションは、入力から読み込む引数の数
             (-n) や、 xargs が生成するコマンドの大きさ (-s) には影響しませ
             ん。本オプションは、引数が置かれる場所を実行されるコマンドの中に
             移動するだけです。 replstr は、 xargs にとって明確な引数 argument
             である必要があります。これは、例えば引用された文字列の中にある場
             合には、解釈されません。さらに、最初の replstr のみが置き換えられ
             ます。例えば、次のコマンドは、現在のディレクトリにある大文字で開
             始するファイルとディレクトリを、 destdir へコピーします:

                   /bin/ls -1d [A-Z]* | xargs -J [] cp -rp [] destdir

     -n numberutility 実行時に標準入力から拾う引数の最大数を設定します。もし
             計算されたバイト数が、指定された size を越えた場合 ( -s オプショ
             ン参照) や utility の最後の実行時に残った引数が number 個以下の場
             合、 utility は、標準入力から読み込んだ引数のうち number より少数
             しか使いません。 number の現在のデフォルト値は 5000 です。

     -s size
             utility に渡すコマンドラインの最大バイト数をセットします。
             utility 名の長さと utility に渡される引数の長さの和 (終端の NULL
             も含む) がこの値以下になります。 size の現在のデフォルト値は
             ARG_MAX - 2048 です。

     -t      実行されるコマンドをその実行の直前に標準エラー出力にエコーしま
             す。

     xargs は、何もエラーが起こらなければ、戻り値 0 で終了します。 utility が
     起動できなかった場合は 、戻り値 127 で終了します。その他のエラーでは戻り
     値 1 で終了します。


関連項目

     echo(1), find(1)


規格

     xargs ユーティリティは IEEE Std 1003.2 (``POSIX.2'') 互換です。 -J オプ
     ションは非標準の FreeBSD 拡張であり、他のオペレーティングシステムでは利用
     できないかもしれません。


バグ

     引数の数や環境の大きさが増加するような他のコマンドの起動を utility が試み
     る場合、 execvp(3) が E2BIG で失敗する危険があります。

FreeBSD 4.4                       May 7, 2001                      FreeBSD 4.4

ABELNET VPSサービス