Tips記事
» 2001年08月22日 00時00分 UPDATE

テキストファイル内の文字列を検索したい

[木田佳克,ITmedia]

 テキストファイルのマッチング・比較ツール「grep」は,UNIXコマンドの中で最も使用頻度の高いツールの1つだろう。

 設定ファイルなどは,エディタで読み込む前に,あらかじめ探している内容が含まれているか調べておくと便利だ。次のように「in」パラメータを付加させると検索できる。

# grep -in "root" httpd.conf
6:ServerRoot "/usr/local/apache"
38:ServerAdmin root@xxxxxx.jp
41:DocumentRoot "/usr/local/apache/htdocs"
136:DocumentRoot /usr/local/apache/htdocs

 検索結果の行頭に表示された数値は,ファイル内の該当行である。また「in」の代わりに「iw」パラメータを付加させると,「in」ではたとえば「"who"」という文字列を検索した場合「whois」も該当表示されていたものが,厳密に「who」の文字列だけが表示される。

 また,viエディタで読み込んだ後は,次のように指定すれば該当する行へジャンプすることが可能だ。

# vi httpd.conf
と入力してファイルを読み込んでから

「Esc」で念のためコマンドモードに移行していることを確認し,
:」で入力モードに移り,
:」「1」「3」「6
と順番に入力しよう。次のような入力表示イメージだ。

Order allow,deny
Allow from all
</Directory>

<IfModule mod_userdir.c>
UserDir public_html
</IfModule>


::136

 これで136行目にカーソルが移動する。

 また,viエディタ上で直接文字列を検索することも可能だ。入力モードで次のように指定すればよい(次の例は,「root」の文字列を検索)。

:/root

また,
:n
で,次に該当する文字列を検索
:?
で,前に該当する文字列を検索を行う。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ