我正在尝试通过sed命令打印两种模式之间的行。但是我想在结果中包含包含模式 1 的行并排除模式 2。例如:
/PAT1/
line 1
line 2
line 3
/PAT2/
所需的输出是:
/PAT1/
line 1
line 2
line 3
我试过这个:
sed -n '/PAT1/,/PAT2/{/PAT2/{d};p}' Input_File
但它排除了这两种模式。
你可以
用awk来做到这一点:awk '/patt1/{flag=1}/patt2/{flag=0}flag' input_file
如果input_file为:
111
222
333
444
555
awk '/222/{flag=1}/444/{flag=0}flag' input_file
给:
222
333