[linux] findで検索した結果を削除したりgrepする方法

-exec command \;

検索後、コマンドcommandを実行する。検索結果をcommandに引き渡すのに{}をもちいる。

例:
find ~ -name '*bak" -exec rm {} \;

上記の例で-execにつづくrm {} \;が実行されるコマンド。最後の";"は-execのパラメタの終わりを示しており、その前の"\"は、";"がシェルに解釈されないようにエスケープする為のもの。

例: ホームディレクトリ以下にある*~(emacsのバックアップファイル)を全て削除
$ find ~/ -name "*~" -exec rm {} \;
Subversionの作業コピーディレクトリから.svnディレクトリを全て削除する。
find . -name .svn -exec rm -rf {} \;
ディレクトリ配下のファイルをgrepする
find ディレクトリ -type f -exec grep 文字列 {} \;

トラックバック(0)

このブログ記事を参照しているブログ一覧: findで検索した結果を削除したりgrepする方法

このブログ記事に対するトラックバックURL: http://www.pistolfly.jp/mt/mt-tb-alt.cgi/630

コメントする