首先它应该 grep 查找 Pattern_A,然后打印 Pattern_A 之前的所有行,直到找到 Pattern_B(所以基本上它应该向后搜索)
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