拡張子を頼りに一括削除
前述したとおり、Terminalで利用するコマンドは「find
」だ。rm
コマンドでフォルダーごと一括削除……という方法もあるが、今回はそれを考慮しない。どのフォルダーを削除するか(どのフォルダーをrm
コマンドの引数に与えるか)で迷うことは時間のムダ、拡張子をたよりに一括削除したほうが断然スピーディーだ。
Terminalを起動したあと、シェルの初期化ファイルに何か手を加えていないかぎり、作業基点(カレントディレクトリー)はホームフォルダーのはず。今回はホームフォルダーから移動しないので、その点も認識しておこう。
作業は2段階で行なう。第1段階は、削除対象のファイルの確認だ。以下のとおりコマンドを実行すれば、ホームフォルダー以下にある拡張子「.log
」のファイルすべてがヒットする。件数が多い場合は、Terminalをスクロールさせるより、wc
コマンドに“パイプ”して行数をカウントするほうが分かりやすい。
$ find . -name '*.log'
$ find . -name '*.log' | wc -l
削除対象を確認したところで、いよいよ削除の実行に移る。findコマンドを使い検索し、その結果をrm
コマンドの機能で削除しているが、コマンドライン1行で済むところがポイントだ。
$ find . -name "*.log" -exec rm {} \;
これで削除は完了……だが、ファイル/フォルダー名にスペースを含むことが多いOS Xの場合、上記の方法ではうまく検索できないことがある。念のため以下のコマンドを実行し、何もヒットしないか確認しておこう。もしヒットしたら、xargs
コマンドにパイプ(コマンドライン末尾に「| xargs -0 rm
」を加える)すればそのまま削除できる。
$ find . -type f -name '*.log' -print0
この方法は、画像ファイル(ex.*.jpg
、*.png
)や文書ファイル(ex. *.txt
、*.html
)、書庫ファイル(ex. *.zip
、*.dmg
)など、幅広く応用できる。OS X Mountain Lionにアップデートする前の“身支度”に活用してほしい。
この連載の記事
-
第187回
iPhone
NFCの世界を一変させる!? iOS 11「Core NFC」の提供開始が意味するもの -
第186回
iPhone
Appleと「4K HDR」 - iOS 11で写真/動画を変える「HEIF」と「HEVC」 -
第185回
iPhone
iPhone 7搭載の「A10 Fusion」「W1」は何を変えるか -
第184回
iPhone
オープンソース化された「PowerShell」をMacで使う -
第183回
iPhone
アップル製デバイス連携の鍵、「Continuity」とは? -
第182回
iPhone
DCI-P3準拠へと歩むiPhone/iPad - WWDC基調講演で秘められた新技術は、ここにある(2) -
第181回
iPhone
WWDC基調講演で秘められた新技術は、ここにある(1) -
第180回
iPhone
WWDC直前、買い替え前にマイMacのココをチェック -
第179回
iPhone
私がiTunesを使わなくなった5つの理由 -
第178回
iPhone
今あえてiPhone「Live Photos」を知る -
第177回
iPhone
「Windows Subsystem for Linux」はOS Xのライバルとなるか? - この連載の一覧へ