Linuxのxargsコマンドで標準入力やファイルからコマンドラインを作成して実行する方法についてまとめました。
xargsコマンド
xargsコマンドは、指定したコマンド文字列と標準入力を組み合わせてコマンドラインを作成し、実行します。
[コマンド] | xargs [オプション] [コマンド]
オプション | 概要 |
---|---|
-0 | 渡す引数がヌル文字で区切られているものとして扱う(findコマンドを使う場合に必要) |
-p | コマンド毎に実行確認(yで実行、それ以外はスキップ)。 |
-L 数字 | 指定行数ごとにコマンドを分けて実行。 |
-n 数字 | 指定個数の引数ごとにコマンドを分けて実行。 |
-t | 実際に実行するコマンド文字列とその引数リストをファイル記述子2(標準エラー) に出力。 |
【使用例】
ファイル一覧からcsvファイルを検索し、ヒットした全てのCSVファイルの中身をcatで表示します。
$ find *.csv -print0 | xargs -0 cat abcdeT
findコマンドとxargsコマンドは、空白(スペース、タブ)や特殊文字(改行など)があると区切り文字として認識してしまい、複数のファイルに分割されます。 そのため、上記の使用例では「-print0」オプションを付け、「xargs -0」で受け取っています。
これにより、findコマンドはヌル文字(\0)を区切りとし、検索結果を出力します。xargsコマンドも引数がヌル文字で区切られているものとして処理します。
関連ページ
LinuCの試験対策と例題まとめ
LinuCの試験対策と例題(学習サイト)についてまとめました。
LPICの試験対策と例題まとめ
LPICの試験対策と例題(学習サイト)についてまとめました。
【Linux超入門】システムの基礎とよく使うコマンドなど徹底解説
Linuxシステムの基礎とよく使うコマンドなどについて入門者向けに解説します。
コメント