回答:
find . -exec <command> {} \;
現在のディレクトリをツリーのルートとして、または一般的に:
find <directory> -exec <command> {} \;
find ... | xargs ...
イディオムを使用して、バッチでファイルを処理します。これにより、通常はより高速になります(プロセスの起動が少なくなります)。
使用する-print0
検索するオプションと-0
するためのオプションをxargs
使用すると、スペースを含むファイルやディレクトリの名前を持っている場合:
find {dir} -print0 | xargs -0r {command}
-print0
ファイル名からプリントを見つけるためのオプションNUL
ながらではなく、空白で区切らよりは、リストを分離-0
するオプションxargs
を指示は、それがその入力破るためにNUL
ではなく、空白を。以来NUL
、Unixのファイル名に許可されていない文字の一つであり、それはファイル名の一部と誤解されるように方法はありません。
-r
オプションは、そのように存在しxargs
、それは何の入力を持っていない場合にエラーを与えることはありません。
使用しているコマンドのバージョンに、再帰操作のフラグがまだないことを確認してください。:)