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