承前
今回は、ついにテキストファイル検索の基本にして王道、さらには究極の存在である「GREP(Grep)」にお越しいただきます。あの最強ITエンジニアもそこの大富豪も、大量の研究データを扱う研究者も、みんな誰でもGREPを使っています。これを知るともう昔には戻れません。
GREP(Grep)とは
Wikipedia先生を召喚します。
grep(グレップ、グレプ)は、UNIXおよびUnixオペレーティングシステムにおけるコマンド。テキストファイル中から、正規表現に一致する行を検索して出力する。
UNIXだって? Windowsが関係ないならさようなら……するには及びません。このコマンドの強力さと便利さに魅せられた先人たちが、このプログラムをWidows向けに作り替えてくれたり、各テキストエディタに同等の機能を組み込んだりしてくれています。例によって「メモ帳」では使えません。乗るしかない、このビッグウェーブ(テキストエディタ乗り換え)に。
「正規表現で検索できるって、前回説明したテキストエディタの機能と変わらないのでは?」と思われるでしょう。前回説明した機能とGREPとの最大の違いは、「GREPは複数ファイルをまとめて検索できる」点にあります。複数のテキストファイルに対してまとめて検索できると、たとえば1日1ファイルの形で作る家計簿から「食費」の項目だけを抜き出したり、大量のソースコードからデバッグ用に埋め込んだヤバい文章「俺の借金サンキュッパ!(3980億円)」を発見したりできます。本当はコマンドラインから使うのが王道ですが、この記事を読まれている方にGREPがコマンドラインから実行できるような環境を整えてもらうとなると、それだけで三日三晩を費やしてしまう恐れがあります。そこで、GREP相当の機能が使えるWindows向けテキストエディタを使ってもらいます。
実例1:Meryの場合
Meryでは、直接は「GREP」の文字がなく、検索機能を複数ファイルに拡張したものとして提供されています。
検索にあたって設定すべき項目に「検索する文字列」「ファイルの種類」「検索するフォルダ」と、前回見た5つの選択肢、そして「エンコード」なるものがあります。このうち、「検索する文字列」には、検索したい単語や文章を入れてください。次の「ファイルの種類」には、検索したいファイルに合わせて、そのファイルに合う「拡張子」を書きます。ファイル名の最後のピリオドから末尾までの3~4文字を拡張子と言い、たとえばテキストファイルは「txt」、不倶戴天の仇敵・Wordファイルは「docx」だったりします。テキストファイルを検索するならば、だいたい「*.txt」と書けば大丈夫です。
検索をすると、次のように結果が出てきます。何日にどの遊びにいくら使ったのか明らかになってしまうので検閲により削除しました。Meryですと、検索結果のファイル名の部分をダブルクリックすることで、そのファイルを新しいタブで開いてくれます。
実例2:サクラエディタの場合
サクラエディタですと、読んで字のごとく「Grep」というメニューがあります。
サクラエディタでも、検索結果のファイル名の部分をダブルクリックすることで、そのファイルを新しいタブで開いてくれます。
まとめと次回予告
複数のファイルにまたがっていても向かうところ敵なし、GREPの力ですべてを検索してしまいましょう。
次は何にしましょうか。王道は「検索」の次に「置換」を説明するパターンですので、王道のように行きましょう。ではでは。