Linux備忘録5:grepコマンド、オプション等雑多

自己環境(CentOS8)で検証の結果、希望結果が得られたものを記載。

<-i>オプション⇒大文字、小文字区別しない 

 

【表示に関するオプション】

 ⇒検索マッチした行の後ろに続く行を指定した行数分(例:5行)も併せて表示

 # grep -A 5

 ⇒検索マッチした行の前行部分を指定した行数分(例:5行)も併せて表示

  # grep -B 5

 ⇒指定した行数分、前後を表示

 # grep -5

 ⇒結果に色をつける

 # grep --color

  ⇒ファイルがない時、エラーが出力されないようにする

# grep -s  

 ⇒マッチした部分(正規表現等を使用して検索キーワード)だけ表示  

# grep -o 

   ⇒マッチした行数を出力

# grep -c 

   ⇒検索マッチした行番号を表示

 # grep -n

   ⇒単語としてマッチした場合で検索する

 # grep -w

    ⇒bufferしないで出力、ログリアルタイム監視など使う 

 # grep --line-buffered

    ⇒ディレクトリに対し再帰的に文字列検索】

 # grep -r

 

 【指定拡張子ファイルのみ検索】

 ⇒.カレントディレクトリ以下のshファイルのみを対象として”キーワード”を検索する場合

# grep -r --include=*.sh -e "{キーワード}"  ./

 

【 一致した空白行を除外して表示】

# egrep -v ^$ [ファイル名]  

 

【 先頭のシェバンを除外(#!/bin/bash)】

# egrep -v '#!/bin/bash' [ファイル名]

  ⇒シングルクォーテーション以外だと、文字列として認識できなかった。

 

【 二つの条件にてgrep

   <grep>:<-e>オプションを使用して、検索パターンを複数指定。

# egrep -v -e ^$ -e '#!/bin/bash' [ファイル名]

 ⇒検索行を除外する場合、<-v>オプション指定して、各<-e>オプションごとに検索パターンを指定。

  

 【指定ディレクトリを除外】

 ⇒testディレクトリを除外したい場合

 # grep --exclude-dir=test