#navi(../)
* grepで検索した行の前後も表示する方法 [#feb1a33e]
grepコマンドを使用して検索した行の前後を確認する方法を記します。~

#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)

* 関連記事 [#o2ca3e72]
-[[grepでタブを検索する方法>逆引きUNIXコマンド/grepでタブを検索する方法]]
-[[grepでハイフン付のキーワードを検索する方法>逆引きUNIXコマンド/grepでハイフン付のキーワードを検索する方法]]
-[[grepで指定したキーワードに色をつける>逆引きUNIXコマンド/grepで指定したキーワードに色をつける]]
-[[grepで複数のキーワードを除外する方法>逆引きUNIXコマンド/grepで複数のキーワードを除外する方法]]
-[[grepで複数キーワードを利用する>逆引きUNIXコマンド/grepで複数キーワードを利用する]]
-[[複数パターン指定でgrepが遅い場合の対応方法>逆引きUNIXコマンド/複数パターン指定でgrepが遅い場合の対応方法]]
-[[grepで大文字小文字を区別しないで検索する>逆引きUNIXコマンド/grepで大文字小文字を区別しないで検索する]]
-[[grepコマンドでパターンヒットがあったファイルのファイル名のみ表示する方法>逆引きUNIXコマンド/grepでパターンヒットがあったファイルのファイル名のみ表示する方法]]
-[[grepコマンド単体で隠しファイルや隠しディレクトリも対象にする方法>逆引きUNIXコマンド/grep単体で隠しファイルや隠しディレクトリも対象にする方法]]
-[[ディレクトリ配下のファイルも対象にgrepする>逆引きUNIXコマンド/ディレクトリ配下のファイルも対象にgrepする]]
-[[grepで指定した拡張子のみ対象としサブディレクトリも含む再帰検索する方法>逆引きUNIXコマンド/grepで指定した拡張子のみ対象としサブディレクトリも検索する方法]]

* 前後を表示するオプション [#aaf50007]
以下のオプションによりパターンマッチした前後を表示することができます。
|-A 行数|パターンマッチした行の後ろの行を表示する。|
|-B 行数|パターンマッチした行の前の行を表示する。|
|-C 行数|パターンマッチした行の前後の行を表示する。|

* -A, -B, -C のオプションを使用してみる [#ld563e97]
以下、-A, -B, -Cオプションを使用した例を記します。~
尚、使用したデータは以下の通りです。
#ref(pref.txt)
 $ 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 オプションを使用してみる [#ef4bc73e]
キーワードがtokyoで-Aオプションに1と2を渡した場合の実行結果です。~
tokyoの後ろにある行が表示されるのが確認できます。
 $ grep -A 1 tokyo pref.txt 
 tokyo
 kanagawa
 $ grep -A 2 tokyo pref.txt 
 tokyo
 kanagawa
 niigata

** パターンマッチした行の前の行を表示する -B オプションを使用してみる [#u6cae7b8]
キーワードがtokyoで-Bオプションに1と2を渡した場合の実行結果です。~
tokyoの前にある行が表示されるのが確認できます。
 $ grep -B 2 tokyo pref.txt 
 saitama
 chiba
 tokyo
 $ grep -B 1 tokyo pref.txt 
 chiba
 tokyo

** パターンマッチした行の前後の行を表示する -C オプションを使用してみる [#jfa0d785]
キーワードが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 オプションの混在 [#o9d43c80]
オプション-A, -Bの両方を使えば、パターンマッチした行の前何行、後ろ何行という風に出力することができます。~
以下の実行結果は、前2行、後ろ3行を指定し実行した結果です。
 $ grep -B 2 -A 3 tokyo pref.txt 
 saitama
 chiba
 tokyo
 kanagawa
 niigata
 toyama

#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS