以下の内容はhttp://www.otsune.com/diary/2007/03/29/1.htmlより取得しました。


#1 [UNIX][sysadmin] いまどきfindとxargsを使う時は-print0と-0を忘れずに

ウノウラボ Unoh Labs: コマンドラインで作業する上で知っておくといいテクニック_404 Blog Not Found:勝手に添削 - find(1)_ を読んで。
ディレクトリ名に0x20(空白)が入るMac OS X環境でfindに-print0を使わずにxargsで受け取るのはヤバい。かなり危険。一度AppleがiTunesのアップデートスクリプトで0x20デリミタの想定外動作をやらかして、誤消去したことがあったよなぁ。
なので「findには必ず-print0オプションを付けて、xargs -0で受け取る」というのを広く世に広めたい。例えば
find . -type f -name '*~'  -print0 | xargs -0 rm 
という感じ。
「ディレクトリ名に0x20なんて含めネェよ」という伝統的なUNIX使いの人でも、Sambaやnetatalkでファイルサーバーを構築していたりするのなら必須だし。

1 -print0オプションは最後に付けないとヤバい:

ぼんやりと考えたこと_ からのTrackBackで指摘があるけど、-print0を-nameなどよりも先に指定すると、他の条件は無関係に全てのファイルを出力してしまう。

1 -exec utility {} + でも良い:

「\;」のかわりに「+」で終端させるとxargsと同じように複数ファイルを同時に処理出来る。

[ コメントする ]

Permalink: http://www.otsune.com/diary/2007/03/29/1.html#200703291
trackback
del.icio.us livedoor Clip View blog reactions
Last Updated 2007-03-29 00:00:00 By otsune

この記事へのトラックバック[6]

18 til i die:[tips]findの用法あれこれ
dankogaiさんのblogでいろいろと書かれていて参考になったというかほぼその通りだと...
ぼんやりと考えたこと:左から右へと受け流す
ムーディ勝山は「右から左へと受け流す」と歌っているけれど、それとは正反対の方向...
zenpouの日記:[Linux]シェルを覚えた経緯を詳し目に書いてみる
perl - the best friend of find(1) 404 Blog Not Foundを見てて、シェルについて書...
くれすの開発日記 〔Perl編〕:[メモ] 改行コードを一発変換するやつ
大したものじゃないんだけど一応。 #!/usr/bin/perl # Name: dos2unix.pl use strict...
遊ネット 技術系Wiki (PukiWiki/TrackBack 0.3):メンバー一覧/内野 良隆/制作/Avi-Ban/不要データ削除
Avi-Banの不要データを削除する ▲ ▼概要 Avi-Ban DB のレコード数、...
otsune's SnakeOil :findコマンドの-execで複数ファイルを扱うときは「-exec utility {} +」を使うのもオススメ
このめっちゃ便利やねん find コマンドのオプションまとめ | バシャログ。のエントリ...



以上の内容はhttp://www.otsune.com/diary/2007/03/29/1.htmlより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14