sed 命令用于打印两种模式之间的线条



我正在尝试通过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

最新更新