特定のファイルを検索して削除する


図解60p「Linuxサーバー構築入門マニュアル」無料
登録10秒/自動返信でDL/合わなければ解除3秒
findコマンドを利用して、特定の共通点を持つファイルを検索し、削除することができます。
引数として、検索するディレクトリ、検索するファイルの条件、-okオプション、
または-execオプションを指定し、削除コマンドのrmを使用します。
このrmコマンドの箇所を他のコマンドにして他の処理をさせる汎用性もあります。

---------------------------------------------------------------
■拡張子が「txt」のファイルを検索して削除する(削除確認あり)
---------------------------------------------------------------
[pakira@Tiger ~]$ ls -l
合計 16
-rw-rw-r-- 1 pakira pakira 0 10月 24 04:55 2012 index.htm
-rw-rw-r-- 1 pakira pakira 0 10月 24 04:55 2012 kouza.htm
-rw-rw-r-- 1 pakira pakira 28 10月 24 05:03 2012 test_file.txt
-rw-rw-r-- 1 pakira pakira 27 10月 24 05:05 2012 test_file1.txt
-rw-rw-r-- 1 pakira pakira 27 10月 24 05:06 2012 test_file2.txt
-rw-rw-r-- 1 pakira pakira 27 10月 24 05:09 2012 test_file3.txt

[pakira@Tiger ~]$ find . -name "*.txt" -ok rm {} \; ←ファイルを検索して削除します。
< rm ... ./test_file3.txt > ? y
< rm ... ./test_file.txt > ? y
< rm ... ./test_file2.txt > ? y
< rm ... ./test_file1.txt > ? y

[pakira@Tiger ~]$ ls -l
合計 0
-rw-rw-r-- 1 pakira pakira 0 10月 24 04:55 2012 index.htm
-rw-rw-r-- 1 pakira pakira 0 10月 24 04:55 2012 kouza.htm

find . -name "*.txt" -ok rm {} \;

上記の例では、カレントディレクトリ内にある拡張子が.txtのファイルを検索し、
削除しています。-okオプションを付けることで削除確認が表示されますが、
ここを-execオプションにすることで確認なしで削除できます。

---------------------------------------------------------------
■拡張子が「htm」のファイルを検索して削除する(削除確認なし)
---------------------------------------------------------------
[pakira@Tiger ~]$ ls -l
合計 0
-rw-rw-r-- 1 pakira pakira 0 10月 24 04:55 2012 index.htm
-rw-rw-r-- 1 pakira pakira 0 10月 24 04:55 2012 kouza.htm
[pakira@Tiger ~]$ find . -name "*.htm" -exec rm {} \; ←削除確認なしで削除します。
[pakira@Tiger ~]$ ls -l
合計 0

"*.txt" 拡張子が「.txt」のもの
"file*.*" ファイル名が「file」で始まっているもの
"????????" ファイル名が8文字のもの
"*~" バックアップファイル「~」で終わっているもの
"*" すべてのファイル



無料プレゼント
図解60p「Linuxサーバー構築入門マニュアル」
独学で詰まる前に、“型(手順書)”で最初の環境構築をサクッと終わらせましょう。
登録10秒/自動返信でDL/合わなければ解除3秒
無料で受け取る ※メールアドレスだけでもOK(必須項目は最小限)

宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として15年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

<<関連記事>>
・MIMEでエンコードされたテキストを読めるように変換する
・viエディタで文字をコピーする
・ハードディスクの使用状況を調べるには
・tar.bz2ファイルの解凍・圧縮コマンド|tar.gzとの違いやオプション一覧
・tar.gz形式のファイルを解凍、展開するには

図解60pのLinux無料マニュアル
登録10秒/自動返信でDL
無料で受け取る