読者です 読者をやめる 読者になる 読者になる

find::xargsを併用して、検索条件に合うファイルを移動

% find /var/log/httpd/ -type f -name "*.gz" -print0 | xargs -0 -I{} mv {} /var/backup/

※ "-I{}" でなく、 "-i{}"かも?

[find パラメータ]
"-print0" : 標準出力に、ファイルの完全な名称(フルパス)を、出力する。

[xargs パラメータ]
"-0" : ヌル文字を使ってファイル名リストを分割する = 空白や特殊文字を含むファイルを正しく処理するため (find側で -print0が必要)
"-I{}" : パイプで渡された結果を「{}」で展開。

格言:
『findには必ず最後に-print0を付けて、xargs -0 で受け取る』


via http://d.hatena.ne.jp/littlebuddha/20090216/1234749342
via http://www.otsune.com/diary/2007/03/29/1.html