探しものはgrepで

2025年09月23日

macOSのgrepコマンドは、テキストファイルの中から特定の文字列を探し出すための非常に便利なツールです。grepの名前は「Global Regular Expression Print」の略から名付けられています。パソコンの「検索」機能と似た目的で使えるのですが、テキストエディタなどで1つ1つファイルを開かずとも、まとめて指定できるのが大きな利点です。macOSの場合、ターミナルアプリを起動して利用します。コマンドの雰囲気はとてもシンプルで、たとえば「sample.txt」というファイルの中から「apple」という単語を探したい場合は、次のように入力します。

grep "apple" sample.txt

このコマンドを実行すると、sample.txtファイルの中で「apple」という文字を含む行だけが抜き出されて表示されます。まるで「本の中から該当する行だけをすばやく目次から探し出す」ようなイメージです。ファイルを開いて手作業で目で追うよりも、はるかに素早く結果を得ることができます。

grepコマンドで検索できるのは「テキストファイル」形式に限ります。WordやExcelファイルは直接対応していません。多くの場合、.txtや.csvのようなテキストファイルが適しています。逆に、.rtfや.docx、.xlsxといったワープロソフト・表計算ソフトのファイルはそのままではgrepでは検索できません。どうしてもそれらの内容を検索したい場合は、テキスト形式に変換する必要があります。

grepコマンドの基本的な構文は「grep 検索したい文字列 ファイル名」という形になります。複数のファイルを同時に指定することもでき、たとえば「*.txt」とワイルドカードを使えば、カレントディレクトリ(今いるフォルダ)内の全てのtxtファイルが検索対象になります。

また、grepには多くの便利なオプションがあります。おすすめのオプションをいくつか挙げます。まず「-i」は大文字・小文字の区別をしなくなり、たとえば「Apple」や「apple」など、表記ゆれがあってもまとめて検索してくれます。「-n」は、どの行に該当部分があったか、その行番号も一緒に表示します。「-v」は、逆に指定した文字列を含まない行だけを表示します。大量のテキストの中から、ある単語が出てこない行だけを抜き出したい場合に便利です。「-r」や「-R」は、今いるディレクトリ以下のすべてのサブディレクトリも含めて階層的に検索します。プロジェクトフォルダ全体とか、たくさんのファイルがある場合に重宝します。

使い方の例を挙げると、たとえばカレントフォルダ全体から「banana」という語を探したい場合は

grep -r "banana" .

のようにします。結果として、指定した単語を含むすべての行が、どのファイルの何行目にあるかと共に表示されます。「.」は「この場所」を示しています。オプションの「-r」はコマンドの次に書きます。そして検索したい文字列はアポストロフィーで囲み、最後に目的のファイル名や場所を書きます。

grepコマンドは検索のレスポンスが非常に速く、大量のファイルやデータに対しても一瞬で結果を返してくれます。プログラミングの現場や研究活動、テキストデータの確認作業など、さまざまなシーンで活用されています。

注意点として、grepはファイルそのものを編集したり削除したりするわけではありません。あくまでも「見つける」ことに特化したツールで、不用意にファイルの中身が壊れる心配はありません。また、grepを利用することで、複数ファイルの見落としや検索漏れといった人的なミスも減らせます。

最後に、もしgrepを使ってみて「思ったように検索できない」という場合は、まず検索対象が本当にテキストファイルなのか、または大文字と小文字が区別されていないかなど、上記のポイントを一度確認してみてください。


Share
無料でホームページを作成しよう! このサイトはWebnodeで作成されました。 あなたも無料で自分で作成してみませんか? さあ、はじめよう