먼저 Pattern_A를 grep한 다음 Pattern_B를 찾을 때까지 Pattern_A 앞의 모든 행을 인쇄해야 합니다(따라서 기본적으로 뒤로 검색해야 합니다).
line1 line2 line3 line4 Pattern_B line5 line6 line7 line8 Pattern_A line9 line10 line11 Pattern_B line12 line13 line14 line15 Pattern_A line16 line17 .... .... ....
출력이 다음과 같기를 원합니다.
Pattern_B line5 line6 line7 line8 Pattern_A Pattern_B line12 line13 line14 line15 Pattern_A
답변1
"무언가를 거꾸로 한다"는 말을 들을 때마다 저는 다음과 같이 생각합니다. 입력을 거꾸로 한 다음 "정상적으로" 어떤 일을 하고 그 결과를 반대로 합니다.
tac file | sed -n '/Pattern_A/,/Pattern_B/p' | tac
그러나 이 경우 "모드 B에서 모드 A로 검색"하면 동일한 결과가 나타납니다.
sed -n '/Pattern_B/,/Pattern_A/p' file