このエントリーをはてなブックマークに追加


grepで検索した行の前後も表示する方法

grepコマンドを使用して検索した行の前後を確認する方法を記します。


関連記事

前後を表示するオプション

以下のオプションによりパターンマッチした前後を表示することができます。

-A 行数パターンマッチした行の後ろの行を表示する。
-B 行数パターンマッチした行の前の行を表示する。
-C 行数パターンマッチした行の前後の行を表示する。

-A, -B, -C のオプションを使用してみる

以下、-A, -B, -Cオプションを使用した例を記します。
尚、使用したデータは以下の通りです。

$ cat pref.txt 
hokkaido
aomori
iwate
miyagi
akita
yamagata
fukushima
ibaraki
tochigi
gunma
saitama
chiba
tokyo
kanagawa
niigata
toyama
ishikawa
fukui
yamanashi
nagano
gifu
shizuoka
aichi
mie
shiga
kyoto
osaka
hyogo
nara
wakayama
tottori
shimane
okayama
hiroshima
yamaguchi
tokushima
kagawa
ehime
kochi
fukuoka
saga
nagasaki
kumamoto
oita
miyazaki
kagoshima
okinawa

パターンマッチした行の後ろの行を表示する -A オプションを使用してみる

キーワードがtokyoで-Aオプションに1と2を渡した場合の実行結果です。
tokyoの後ろにある行が表示されるのが確認できます。

$ grep -A 1 tokyo pref.txt 
tokyo
kanagawa
$ grep -A 2 tokyo pref.txt 
tokyo
kanagawa
niigata

パターンマッチした行の前の行を表示する -B オプションを使用してみる

キーワードがtokyoで-Bオプションに1と2を渡した場合の実行結果です。
tokyoの前にある行が表示されるのが確認できます。

$ grep -B 2 tokyo pref.txt 
saitama
chiba
tokyo
$ grep -B 1 tokyo pref.txt 
chiba
tokyo

パターンマッチした行の前後の行を表示する -C オプションを使用してみる

キーワードがtokyoで-Cオプションに1と2を渡した場合の実行結果です。
tokyoの前後にある行が表示されるのが確認できます。

$ grep -C 1 tokyo pref.txt 
chiba
tokyo
kanagawa
$ grep -C 2 tokyo pref.txt 
saitama
chiba
tokyo
kanagawa
niigata

-A, -B オプションの混在

オプション-A, -Bの両方を使えば、パターンマッチした行の前何行、後ろ何行という風に出力することができます。
以下の実行結果は、前2行、後ろ3行を指定し実行した結果です。

$ grep -B 2 -A 3 tokyo pref.txt 
saitama
chiba
tokyo
kanagawa
niigata
toyama


添付ファイル: filepref.txt 550件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-06-03 (金) 23:00:43