pattern 1
次の行にが含まれてpattern 2
いて始まる場合にのみ行を含めるにはどうすればよいですかpattern 3
?
例:A
次の行がaで始まり、パターンが含まれている場合にのみ、B
anで始まる行を保持します。B1
入力ファイル
A item1A
B item1B2
A item2A
A item3A
B item3B1
B item3CB1
B item3B2
A item5A
B item5B1
A item6A
予想出力:
A item3A
B item3B1
B item3CB1
A item5A
B item5B1
(現在試行中ですがs行がすべて保存されるgrep -e ^A -e B1
副作用があります)A
ベストアンサー1
そしてpcregrep
:
pcregrep -M '^(A.*\n)?B.*B1'
そしてawk
:
awk '
/^B.*B1/ {if (p && last ~ /^A/) print last; print; p=0; next}
{p=1; last=$0}'