このページの本文へ

前へ 1 2 3 次へ

Apple Geeks 第86回

「OS X Mountain Lion」にアップデートするその前に!

2012年07月27日 21時30分更新

文● 海上忍

  • この記事をはてなブックマークに追加
  • 本文印刷

拡張子を頼りに一括削除

 前述したとおり、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にアップデートする前の“身支度”に活用してほしい。



前へ 1 2 3 次へ

カテゴリートップへ

この連載の記事

ASCII.jp RSS2.0 配信中