linuxコマンド:xargs

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
linuxコマンド:xargs [2018/12/18 11:28] mumeiyamibitolinuxコマンド:xargs [2018/12/18 11:31] (現在) – [使い方] mumeiyamibito
行 5: 行 5:
  
 ===== 使い方 ===== ===== 使い方 =====
-基本形\\ <code bash>COMMAND | xargs OPTION COMMAND</code>+基本形\\ <code bash>COMMAND1 | xargs OPTION COMMAND2</code>
  
 ^ OPTION        ^ 説明                                                                  ^ ^ OPTION        ^ 説明                                                                  ^
-| ''-L''       次のコマンドに与える引数の最大数 (改行までを 1 データとみなす)                                  | +| ''-L''       ''COMMAND2'' に与える引数の最大数 (改行までを 1 データとみなす)                                  | 
-| ''-n''       次のコマンドに与える引数の最大数 (whitespace までを 1 データとみなす)                         | +| ''-n''       ''COMMAND2'' に与える引数の最大数 (whitespace までを 1 データとみなす)                         | 
-| ''-P''       次のコマンドで同時に実行する最大数 (並列処理)                                            | +| ''-P''       ''COMMAND2'' で同時に実行する最大数 (並列処理)                                            | 
-| ''-I'' (アイ) 次のコマンドに与える引数を指定した文字列で指定 (この場合、''-L'' オプションは無視され、引数は 1 つずつ処理される) +| ''-I'' (アイ) ''COMMAND2'' に与える引数を指定した文字列で指定 (この場合、''-L'' オプションは無視され、引数は 1 つずつ処理される) 
-| ''-0'' (ゼロ) | 最初のコマンドで得られたデータを null 文字で区切られたものとして処理する |+| ''-0'' (ゼロ) | ''COMMAND1'' で得られたデータを null 文字で区切られたものとして処理する |
  
   * 例: ''seq'' で生成した 1〜10 の数字を 3 個ずつ改行しながら表示 (''echo'') する。\\ <code bash>   * 例: ''seq'' で生成した 1〜10 の数字を 3 個ずつ改行しながら表示 (''echo'') する。\\ <code bash>
行 31: 行 31:
 </code> </code>
     * ''mv'' コマンド内の引数の位置を指定したいため、find で得られたそれぞれのファイルパスは ''-I'' オプションで ''mv'' コマンド内の ''XXX'' に渡すと指定している (''-I'' オプションがない場合は、''MOVE_TO'' が指定できない)。     * ''mv'' コマンド内の引数の位置を指定したいため、find で得られたそれぞれのファイルパスは ''-I'' オプションで ''mv'' コマンド内の ''XXX'' に渡すと指定している (''-I'' オプションがない場合は、''MOVE_TO'' が指定できない)。
-  * 例: カレントディレクトリにあるディレクトリを zip で圧縮する (ただし、4 CPU で同時に圧縮していく)\\ <code bash>+  * 例: カレントディレクトリにある複数のディレクトリを zip で圧縮する (ただし、4 CPU で同時に圧縮していく)\\ <code bash>
 $ find . -maxdepth 1 -mindepth 1 -type d -print0 | xargs -0 -P 4 -I XXX zip -r XXX.zip XXX $ find . -maxdepth 1 -mindepth 1 -type d -print0 | xargs -0 -P 4 -I XXX zip -r XXX.zip XXX
 </code> </code>
行 41: 行 41:
   * [[https://stackoverflow.com/questions/41623959/what-is-the-difference-between-l-and-n-in-xargs | what is the difference between -L and -n in xargs - Stack Overflow]]: ''-L'' と ''-n'' オプションの違い   * [[https://stackoverflow.com/questions/41623959/what-is-the-difference-between-l-and-n-in-xargs | what is the difference between -L and -n in xargs - Stack Overflow]]: ''-L'' と ''-n'' オプションの違い
   * [[https://utano.jp/entry/2018/08/solution-for-mv-error-argument-list-too-long/ | [Sy] 大量ファイルの移動などで「argument list too long」とエラーになってしまう場合の対処 | Syntax Error.]]   * [[https://utano.jp/entry/2018/08/solution-for-mv-error-argument-list-too-long/ | [Sy] 大量ファイルの移動などで「argument list too long」とエラーになってしまう場合の対処 | Syntax Error.]]
 +
 +
 +{{tag>Linux コマンド}}
  • linuxコマンド/xargs.1545100086.txt.gz
  • 最終更新: 2018/12/18 11:28
  • by mumeiyamibito