我有一个类似于Bash, grep between two lines with specified string的情况。我有以下格式的输出的文本文件:过滤文本文件的行
HEADER A
lines of output
----------------
HEADER B
lines of output
----------------
...rinse and repeat...
我想匹配具有相同标头的所有块。 grep
似乎不足以完成此任务。我只是模糊地熟悉awk
和sed
。足以认识到他们可能是这里最合适的工具。那么如何匹配一个由匹配的HEADER和----------行封闭的块呢?
我的基于链接的问题,尝试
awk '/HEADER/{f=1} /-/{f=0;print} f' filename.txt
然而,这仍然符合一些与第二集块线。
也许你需要扩大你的输入文件,并告诉你如何得到错误的输出...... –
@GeorgeVasiliou刚编辑显示更清楚的文件格式。 –
为什么不'awk'/ HEADER A/{f = 1}/-------/{f = 0; print} f'file.txt' ...? –