特定の文字を含む行を検索する
■-- 文法 --■
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コマンドの検索結果をさらに絞り込む
特定の文字列を含むファイルを検索する(特定のディレクトリを対象)
特定の文字列を含まないファイルを検索する(特定のディレクトリを対象)
P.S
grepのもっと高い技術を身につけたいならこちら
<<関連記事>>
・pstree
・chsh
・finger
・du
・uname