find でコマンドを実行する
しばらく使わないと忘れるのでメモ。
ディレクトリ内を検索する find コマンドについてです。
私がよく使うのはどこにファイルがあるかを知るために、find コマンドでパスを表示させるオプションです。
$ find . -name 'foo.bar'
これでカレントディレクトリより下にある foo.bar というファイルのパスが表示されます。
たまに、見つけたファイルに対してなにか処理をしたいときがあります。例えば不要なので削除したい時があります。この時は -exec オプションをつけますが、対象ファイルの指定方法を忘れます。{} が対象ファイルに置き換わりますが、コマンドの終わりを表す ; を最後に付ける必要があります。
次のようになります。
$ find . -name 'foo.bar' -exec rm -f {} \;
; はシェルが解釈しないように \ でエスケープする必要があります。これで、見つかったファイルが削除されます。
ディスカッション
コメント一覧
まだ、コメントがありません