今回はUNIX系のOSでfindコマンドを使ってテキストファイルを検索します(Windowsでの検索については別の回で説明します)。以前やったテキストの置換と組み合わせて使うと役立つかもしれません。また内容を検索するgrepと組み合わせて使うとさらに便利です。findはこれまでも何回か使ってきましたが、今回はもう少しうまく使ってみましょう。
と、その前にlsコマンドについても、もう少し詳しく説明します。
ファイルをリストアップ
ここで使用するサンプルファイルとディレクトリ構成は以下のようになっています。これまでと同じようにデスクトップ上にsampleフォルダを用意し、そこに対象となるファイルを用意しています。
このsampleディレクトリをカレントディレクトリとします。cdコマンドで以下のように入力すればデスクトップ上にあるsampleディレクトリがカレントディレクトリになります。
特定のディレクトリ内にあるファイルを検索する、リストアップするならこれまでにも使ってきたlsコマンドでもよいでしょう。
もっとも、これまでは特定の拡張子を持つファイルをリストアップするだけという簡単な使い方ばかりでした。bashやzshなどのシェルには、特定のファイルをリストアップするための機能があります。*.jpgで拡張子がjpgのファイルだけをリストアップしたり、*.{jpg,png}で複数の拡張子を持つファイルをリストアップするといった機能です。
シェルには、これ以外にも多くの指定方法があります。ここでは、よく使いそうな指定について説明しましょう。
なお、ここではもっとも多く使用するlsコマンドで説明します。一部他のコマンドでは使えない指定もあります。