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}'