Awk
AからBまで行を取得
awk '/A/,/B/' sample.txt
- 開始行:上から最初に合致したもの
- 終了行:開始行から、最初に合致したもの
ファイル一行目から特定の行まで出力
文字列で指定する場合
awk '{if ($0 == "B") exit;print $0;}' sample.txt
正規表現で指定する場合
awk '{if ($0 ~ /B/) exit;print $0;}' sample.txt
列の条件指定
2番目のフィールドが “keyword1” または “keyword2” であり、かつ3番目のフィールドが “target” である行を sample.txt ファイルから抽出し、それを出力
awk '($2 == "keyword1" || $2 == "keyword2") && $3 == "target" {print}' sample.txt