美文网首页
【Linux】xargsコマンドの使い方

【Linux】xargsコマンドの使い方

作者: 马云生 | 来源:发表于2023-10-31 09:25 被阅读0次

    基本的な使い方

    xargsは以下のように記述することで前のコマンドの実行結果を標準入力から受け取って、次のコマンドの引き数に渡して実行できます。

    find.-name"*.log"| xargsrm-fv

    上記の場合にはfindコマンドで取得したすべてのファイルパスに対してrmコマンドが実行されます。

    以下のようなコマンドが実行されます。

    rm-fv./path/to/sample1.log ./path/to/sample2.log ./path/to/sample3.log

    ドライラン( dry run )

    -pをつけると実際にはコマンドは実行されず実行される予定のコマンドの内容が出力されます。

    $ find.-name"*.log"| xargs-prm-fvrm-fv./path/to/sample1.log ./path/to/sample2.log ./path/to/sample3.log?...

    引数の位置を指定

    以下のように記述することで引数の位置を指定できます。

    find.-name"*.log"| xargs-icp{}/exampledir/

    以下のようなコマンドが実行されます。

    cp./path/to/sample.log /exampledir/

    また以下のように記述しても上記と同様のことが実現できます。

    find.-name"*.yml"| xargs-IXXXcp-fXXX ./exampledir/

    引数の最大数を指定

    -L 数値を追記するとコマンドに一度に渡す引数の最大数を指定できます。

    find.-name"*.log"| xargs-L1rm-fv

    上記の場合にfindコマンドで3つのパスを取得したとすると以下のように実行されます。

    $ rm-fv./path/to/sample1.log$ rm-fv./path/to/sample2.log$ rm-fv./path/to/sample3.log

    なお-L 数値は改行ごとに1つの引数として扱います。

    -n 数値でも引数の数を指定できますがこちらはxargsがコマンドに渡す引数の最大数を指定します。

    $ seq-s' '10 | xargs-L2echo TT 1 2 3 4 5 6 7 8 9 10$ seq-s' '10 | xargs-n2echo TT 1 2T 3 4T 5 6T 7 8T 9 10

    同時実行の最大数を指定

    -P 数値を追記すると同時実行の最大数を指定できます。

    find.-name"*.log"| xargs-L1-P2rm-fv

    上記の場合にfindコマンドで3つのパスを取得したとすると1つ目と2つ目が同時実行されその後に3つ目が実行されます。

    相关文章

      网友评论

          本文标题:【Linux】xargsコマンドの使い方

          本文链接:https://www.haomeiwen.com/subject/djpiidtx.html