grepコマンド


Linuxサーバー管理者の技術を2日で学べる「初心者向けリナックスセミナー」
30日掛かって覚えるプロの技術を、たった2日間で学習できます。
リナックスマスター2日間集中セミナー【CentOS7版】
 (今すぐ↑をクリックしてください。)

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

■-- 文法 --■

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

     例)
       grep▲testpoint▲file.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」を付けて
下記のように実行します。

grep -i "LINUX-WLAN" *

Linuxは、大文字と小文字は別の文字として扱います。
なので、このgrepを実行したときも、大文字と小文字は別の文字として扱います。
間違って大文字のものを小文字で検索したりすると、
結果が何も表示されない場合があるので注意が必要です。

もし、記憶があいまいなときは、
「-i」オプションを使用して、大文字小文字を区別しない検索をするとよいでしょう。

-----------------------------------------------------------------
# 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"
-----------------------------------------------------------------

検索したい文字がファイルの何行目にあるか、
行番号を表示する場合は、「-n」オプションを付けて下記のように実行します。

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"
-----------------------------------------------------------------

■関連記事
ファイル内の特定文字から始まる文字列を抽出する
ファイル内の特定文字で終わる文字列を抽出する
ファイル内の特定文字列を行番号を含めて表示する
ファイルから特定の文字列が含まれない行を抽出する
ファイル内の特定文字列が何行含まれているか表示する
ファイルから完全に一致する行のみ抽出する
grepコマンドの検索結果をさらに絞り込む
特定の文字列を含むファイルを検索する(特定のディレクトリを対象)
特定の文字列を含まないファイルを検索する(特定のディレクトリを対象)



■CentOS7.1サーバー構築マニュアルを無料プレゼント
 「CentOS7.1」のサーバー構築手順、「VMware Player」の
 ダウンロードとインストール手順をまとめたマニュアルを
 無料でプレゼントしています。


 詳しくは↓のページで説明していますので、今すぐクリックしてダウンロードしてください。
 無料マニュアルをダウンロードする  無料マニュアルをダウンロードする