リナックス豆知識

検索でよく使われるgrepコマンド

投稿者情報

  • 運営局 投稿
  • 投稿日

コンテンツ情報

本文内容

grepはファイル中の文字列に対して正規表現を使って検索し表示するLinuxのコマンドです。

ここでは、grepの基本操作を説明します。

Linuxコマンドの中ではよく使われるコマンドですので、必ずこの機会に使い方を覚えて置きましょう~。

 

grepコマンドの基本操作

grepはファイル中の文字列を検索するコマンドで使い方は、次のようにシンプルなものになっています。

$ grep 検索正規表現 ファイル名

grepを使ってファイル内の文字を検索するにはこれだけです。

例えば、testディレクトリ内のファイルすべての中からtという文字を検索する場合は、次のコマンドになります。

[root@localhost]mkdir test
[root@localhost test]cd test
[root@localhost test]echo -e 'osaka\n123\n.txt' > test/test01.dat
echo -e 'tokyo\n345\n.dat' > test/test02.dat
echo -e 'hukuoka\n567\n.cnf' > test/test03.dat

結果は

jcZb547.png

 

grepでand(なおかつ)を使って検索

grepでは2つ以上の条件を設定し、どちらにも当てはまる行を表示する、and(なおかつ)検索ができます。

基本的には、シンプルにパイプで繋げばいいでしょう~。

$ grep 検索文字列 ファイル名 | grep 検索文字列2
#1文の中でのand検索では、次のように正規表現を使います。
$ grep スタートの検索文字列.*終わりの検索文字列 ファイル名

"."はなんらかの文字、*は直前の文字の0個以上の繰り返しを表す正規表現です。

つまり./でなんらかの文字列を表現できるわけです。

2つの条件の両方とも当てはまる行を検出するには、このなんらかの文字列の正規表現を利用して検索します。

testディレクトリ内のファイルすべての中からfではじまってaで終わる部分のある行を検索するには、次ののようになります。

$ grep h.*a test/*

結果は

diiqrC6.png

 

hではじまって、aで終わる部分が表示されました。

 

上記以外、grepコマンドの便利なオプション

【オプションの使い方】

#grep -オプション 検索正規表現 ファイル名
grep -i a test/*

オプション -i

大文字と小文字を区別せず検索する。

オプション -E

拡張正規表現で検索を行う。

オプション  -e

一致処理に指定した正規表現を使う。

オプション  -v

一致しないものを検索する。

オプション  -n

検索結果に行番号を表示する。

オプション  -l

検索結果にファイル名のみ表示する。

オプション  -h

検索結果にファイル名を表示しない。

オプション  -o

検索結果に一致した文字を表示する。

オプション  -C

検索結果に一致した箇所から前後に指定した行数表示する。

オプション  -r

ディレクトリ内も検索対象とする。

オプション  -L

検索した結果、該当しなったファイルを表示する。

関連資料

新着投稿


  • 投稿がありません。

新着書込み


  • 書込みがありません。
アラート 0