xargsコマンドがすごすぎる

こんなUNIXコマンドがあったなんて・・・
xargsで複数の結果をパイプでつないで随時実行できる。

ただし空白や特殊文字を含むファイルを正しく処理するため、findコマンドには必ず「-print0」オプションを付け「xargs -0」で受け取るようにする。

PWDのサブフォルダーのサイズを調べる

find . -type d -maxdepth 1 -print0| xargs -0 du -sh

findだけでなくlsなどでもOK

ls -d */ | xargs du -sh

find -execでも出来るがxargsの方がシンプル

find . -type d -maxdepth 1 -exec du -sh {} \;

フォルダー内の中身をサイズでソート

ls | xargs du -s | sort -nr | awk {'print $2'}

XMLファイルを.bakとしてmvさせたいときは (-iで実行前に文字列の置換)

ls *.xml | xargs -i mv {} {}.bak