xargsコマンド~標準入力やファイルからリストを読み込み、コマンドを実行~【Linuxコマンド集】

xargsコマンド~標準入力やファイルからリストを読み込み、コマンドを実行~【Linuxコマンド集】

xargsコマンドとは標準入力から受け取った文字列を数に指定して、与えられたコマンドを実行します。

xargs コマンド

使用方法

次の例では60日を超える日数の間更新されたいないファイルを「find」コマンドで検索し、検索したファイルを「xargs」コマンドに渡してファイル内を表示しています。

find . -mtime +60 -type f | xargs cat

また違った書き方をすることもできます。

find . -mtime +60 -type f -exec cat {} \;

結果は同じになります。

「xargs」コマンドの利点

「xargs」コマンドの利点は、引数の数が多すぎた場合でも処理できることです。
例えば非常に多数のファイルがあるディレクトリでrmコマンドを実行するとシェルの制限を超えてしまうことがあります。

$ rm *
-bash: /bin/rm: Argument list too long

このような場合に「xargs」コマンドを使うと、制限を超えないように適切に処理をしてくれます。

$ echo * | xargs rm