我有以下数据,其中我有兴趣找到带有START关键字和匹配process2的行,然后只获得进程2的第4行。我开发了下面的sed代码,但是它打印了从process2到的所有行process6。 你能帮我打印第4行吗?
sed -n -e '/START/{p};/process2/{N;N;N;N;p};d' data.txt
START1
process1: data11345
process2: data12235
process3: data13123
process4: data13123
process5: data13123
process6: data13123
START2
process1: data213345
process2: data225555
process3: data235677
process4: data13123
process5: data13123
process6: data13123
START3
process1: data314332
process2: data322222
process3: data335556
process4: data13123
process5: data13123
process6: data13123
process7: data13123
答案 0 :(得分:0)
在process2
之后输出第四行:
sed -n -e '/START/,/^$/{//p;/process2/{n;n;n;n;p}}' file
说明:
在START
和^$
之间的块中(下一个空白行或文件末尾):
//p
:打印与地址范围匹配的行/process2/
,n;n;n;n