findの結果を引数にしてコマンドを実行
Linuxで「あのファイルってどのディレクトリにあったかな〜?」とかいう時に大活躍するfindコマンド。これに-execオプションを付けると便利さ倍増だという事を知りました(= ‘艸’)ムププ
find 対象のディレクトリ -name ファイル名 -exec コマンド {} \;
我が家の外付けHDに、Songbirdで音楽を聴くべくCD音源をチマチマ取り込んでいるのですが、(今は亡き)Windowsの頃に取り込んでいた音源も同居しています。
WindowsではWMPで取り込んでいたのですが、WMPは取り込み時にdesktop.iniというファイルを作成していたようで、このファイルが音源用ディレクトリ下にいっぱいある事を発見してしまいました。
特に何らかの影響があるワケでもない(そもそもubuntuで開けないです)ので、放っといてもいいのですがそこはソレ。貧乏性の血が「無用なファイルは削除したい!!」と騒ぎ出します(*´σー`)エヘヘ
取り敢えず、desktop.iniファイルが一体どのくらいあるのかな?と、以下のようにテキストファイルに書き出してみました。
find /media/disk/MP3 -name desktop.ini > desktop.ini.txt
で、ざっとファイル数は250ほど!!Σ(゚д゚;) ヌオォ!?
さすがにこれはいちいちマウスで削除なんぞやってられん!!と思い、こういうのを一括で削除するにはシェルスクリプトやらを書かないとダメなのかな〜?でも全然分からないや…。と考えていたら、今月の日経Linuxにビンゴな特集があったのを思い出しました。
結果としては、以下のコマンドで250のファイルが一瞬で削除完了しちゃいました。Linux便利だな〜。Windowsでもコマンドプロンプトとかで出来るのでしょうか?もしくはどっちもGUIで出来たりして…。
find /media/disk/MP3 -name desktop.ini -exec rm -f {} \;
メデタシメデタシヾ(@^▽^@)ノ ワーイ
