はてなブックマークに追加
Yahoo!ブックマークに登録 人が登録
この記事をクリップ!
atom:
RSS:
プロが現場で構築するLinuxサーバー技術が習得できる講座とセミナー
→ 【Linux講座】リナックスマスター・ホームスタディ講座
→ 【Linuxセミナー】リナックスマスタープロセミナー【2日間集中研修】
grepコマンド
スポンサードリンク
特定の文字を含む行を検索する
■-- 文法 --■
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:# https://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:# https://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:# https://www.linux-wlan.com
wlan.conf:103: DesiredSSID="linux-wlan"
-----------------------------------------------------------------
ファイル名の右隣りに番号がありますよね。
これが行番号になります。これがあるとその文字が含まれている箇所がすぐにわかるので、とても便利ですよ。
スポンサードリンク
Linuxコマンド.com:当サイトについて
- Linuxコマンド.comは個人で運営しているサイトです。
- ご意見、ご質問はメールでお願いいたします。