问题的第一部分有很多答案,即在两个图案之间打印线条。例如:在两个图案之间打印线条并休眠一秒钟然后重复至EOF
awk '/start/{flag=1} flag; /end/{flag=0}' file
此打印出图案的“开始”和“文件”内发生几次“端”之间的界线。假设该文件包含:
start a b c d 4 5 3 7 8 end some garbage start 6 d 0 0 1 d g end other garbages start 6 5 ... end some other garbage
上述“AWK”命令打印出整个文件消除了垃圾..这是很好的,但我要的是每个这样的块之间的停顿。即打印
start a b c d 4 5 3 7 8 end
睡眠用于第二(sleep 1
可以使用),然后打印下一个块:
start 6 d 0 0 1 d g end
等等直到文件的末尾。我广泛搜索,但无法找到第二个“暂停/等待”部分,因此我相信这不是一个重复的问题。
你确定awk脚本正在做你所说的事吗? – JNevill
为了说明问题,在给定示例数据的情况下,它不适用于我,并且如果没有for循环迭代记录中的字段,我无法看到它是如何工作的。如果执行for循环,那么在循环启动到下一个字段之前,可以在'/ END /'测试中实现'system(“sleep 10”)''。但这是一个有争议的问题,因为剧本似乎没有做到应有的功能。 – JNevill
@JNevill其实你是对的,它打印出整个文件。但无论如何,我对awk命令不感兴趣,这只是一个例子。我想在问题中描述的内容。 – quanta