【发布时间】:2014-05-27 00:28:55
【问题描述】:
给出这个 input.txt:
START asd
blah
blah
blah
START HELLO
lorem
ipsum
dolor
sit
amet
START STACK
bleh
bleh
我正在尝试找出START HELLO 和START STACK 之间的界限。
所以这是想要的输出:
START HELLO
lorem
ipsum
dolor
sit
amet
我做了这个 awk:
awk '/START/{l++} {if(l==2){exit;} if(l==1) {print}}' input.txt
但返回第一个 START 块,而不是 START HELLO:
START asd
blah
blah
blah
你有什么想法让它尽可能清晰吗?几天前我刚开始使用 awk,因此任何提示、帮助或建议将不胜感激。
【问题讨论】:
-
如果
START HELLO和START STACK块之间还有另一个块,您是否也希望打印它?对于解决方案来说,了解您是因为点击了START STACK,还是因为点击了START <anything>,或者因为您点击了一个空行,这一点很重要。