覚えると便利、xargsコマンドの使い方12選

特定のファイルをtar.gzにまとめる方法

find ディレクトリパス -name '*.拡張子' -type f -print0 | xargs -0 tar -cvzf ファイル名.tar.gzCode language: JavaScript (javascript)

lsコマンドの出力を1行にまとめる方法

ls -1 ディレクトリパス | xargs

システムを使っているユーザリストを1行にまとめる方法

cut -d: -f1 < /etc/passwd | sort | xargsCode language: HTML, XML (xml)

複数のファイルに対してwcコマンドを個別に実行する方法

ls *キーワード* | xargs wc

特定のディレクトリを再帰的に削除する方法

find ディレクトリパス -name "名前" -type d -print0 | xargs -0 /bin/rm -v -rf "{}"Code language: JavaScript (javascript)

特定のファイルを削除する方法

find . -name "ファイル名" -type f -print0 | xargs -0 /bin/rm -v -rf "{}"Code language: JavaScript (javascript)

ファイルを複数のディレクトリにコピーする方法

echo ディレクトリパス1/ ディレクトリパス2/ | xargs -n 1 cp -v コピー元ファイルパスCode language: PHP (php)

ファイルを特定のディレクトリに名前を変えつつ移動する方法

find ディレクトリパス -depth | xargs -n 1 rename -v 's/(.*)\/([^\/]*)/$1\/\L$2/' {} \;Code language: JavaScript (javascript)

特定のファイルを除いてほかのファイルを削除する方法

find . -type f -not -name '*gz' -print0 | xargs -0 -I "{}" rm -v "{}"Code language: JavaScript (javascript)

ファイルにアイテム一覧を書いておいて適用する方法

xargs -a リストファイルパス

実行するコマンドを実行前に標準エラー出力に出力させる方法

find ディレクトリパス -name "名前" -type d -print0 | xargs -0 -t /bin/rm -rf "{}"Code language: JavaScript (javascript)

実行前に確認プロンプトを表示させる方法

echo ディレクトリパス1/ ディレクトリパス2/ | xargs -p -n 1 cp -v コピー元ファイルパスCode language: PHP (php)
xargsコマンド実行例

xargsコマンド実行例

記事で紹介されている方法のいくつかは、xargsコマンドを使わなくてもコマンドの引数に指定することで実行させることが可能だ。しかし、xargsコマンドを利用すると引数の上限数を気にすることなく利用できるようになるという利点がある。引数に渡される数がオペレーティングシステムの提供している上限を超える場合は、xargsを利用することで問題を回避できる。

引用元:https://news.mynavi.jp/article/20180816-678553/