Linuxコマンドの紹介です。ここで紹介しているコマンドを
一つでも多くマスターすると、Linuxを使うのがとても楽になります。
これで、あなたもLinuxサーバー管理者への一歩を踏み出せます。




No.021
  特定の文字を含む行を検索する  


■-- 文法 --■

grep (オプション) パターン ファイル名

            例)
                greptestpointfile.txt
                  「file.txt」から「testpoint」という文字列を含む行を抽出する
                  ※▲はスペースを表してます。





オプション

-h 複数のファイルを指定した場合に、抽出した行の先頭にファイル名を表示しない

-i パターンで検索する際、大文字、小文字を区別しない

-n パターンを含む行が検索したファイルの何行目にあるのかを表示する

-v パターンにを含まれない行を抽出する

実行例






カレントディレクトリ内で「linux-wlan」という文字を含む
ファイルを検索する。


#grep "linux-wlan" * ←「grep」コマンド実行 wlan.conf:# linux-wlan wlan.conf:# Inquiries regarding the linux-wlan Open Source project can be wlan.conf:# info@linux-wlan.com wlan.conf:# http://www.linux-wlan.com wlan.conf: DesiredSSID="linux-wlan"
「linux-wlan」を含む行がファイル「wlan.conf」名と一緒に表示されます。 これを使うと探したい文字列さえわかれば、いちいちファイルの内容を表示させる ことなく、ファイル内容をけんさくすることができます。 知っておいて損はないコマンドです。 ○大文字と小文字を区別しないで表示する 「grep -i "LINUX-WLAN" *」 Linuxというのは大文字と小文字は別の文字として扱います。 ですので、このgrepを実行したときにも大文字と小文字は別の 文字として扱われます。間違って大文字のものを小文字で検索 したりすると結果が何も表示されないという場合があります。 もし、あなたの記憶があいまいなときにはこのオプションを使って 大文字小文字を区別しない検索をするとよいでしょう。
# grep -i "LINUX-WLAN" * wlan.conf:# linux-wlan wlan.conf:# Inquiries regarding the linux-wlan Open Source project can be wlan.conf:# info@linux-wlan.com wlan.conf:# http://www.linux-wlan.com wlan.conf: DesiredSSID="linux-wlan"
○検索したい文字がファイルの何行目にあるか行番号を表示する 「grep -n "linux-wlan" *」 この文字列を検索するという場合は、結構ファイルの内容を修正したいときに 修正箇所の文字列はわかるけど、ファイル名を忘れたって時に私は使うことが 多いです。なので、この行番号をつけることで、修正するファイル名と修正する 行がわかってとても重宝しているんです。
#grep -n "linux-wlan" * lan.conf:9:# linux-wlan wlan.conf:34:# Inquiries regarding the linux-wlan Open Source project can be wlan.conf:38:# info@linux-wlan.com wlan.conf:39:# http://www.linux-wlan.com wlan.conf:103: DesiredSSID="linux-wlan"
ファイル名の右隣りに番号がありますよね。 これが行番号になります。これがあるとその文字が含まれている箇所がすぐに わかるので、とても便利ですよ。



ホームへ戻る - コマンドリファレンスへ戻る