Hack 22. Xargs コマンド
xargs はとても強力なコマンドです。
コマンドの出力を受け取り、別のコマンドの引数として渡します。
次のものは練習サンプルで、xargs をどのように効果的に使用するかを説明しています。
1. rm を使用して多くのファイルを削除しようとした際に、エラーメッセージが出るかもしれません: /bin/rm Argument list too long - Linux
この問題を避けるために xargs を使用します。
find ~ -name ‘*.log’ -print0 | xargs -0 rm -f
2. /etc/ の下にある *.conf ファイルすべてのリストを取得します。
同じ結果を得るのに異なる方法があります。
次の例は、xargs を使用したデモンストレーションだけです。
この例では、find コマンドの出力は xargs を使用して1つずつ ls -l に渡されます。
# find /etc -name "*.conf" | xargs ls -l
3. ダウンロードしたい URL のリストをもつファイルがある場合に、以下のように xargs を使用できます。
# cat url-list.txt | xargs wget -c
4. jpg イメージをすべて検索し、それをアーカイブします。
# find / -name *.jpg -type f -print | xargs tar -cvzf images.tar.gz
5. 外部ハードドライブにすべてのイメージをコピーします。
# ls *.jpg | xargs -n1 -i cp {} /external-hard-drive/directory