已关闭,此问题需要details or clarity。目前不接受答复。
**想改善这个问题吗?**通过editing this post添加详细信息并澄清问题。
4天前关闭。
Improve this question
我正在寻找帮助使用awk打印只有一个文本文件的一部分,开始与一个关键字(TC024)和结束与一个空行,但然后也打印以下2行后的空行。我一直在尝试如下,但它不起作用:
awk '/TC024/{p=1} p; p && /^$/{c++} p && c<=2{print} c==3{exit}' test1.txt
3条答案
按热度按时间0s0u357o1#
打印以下两行
我建议使用
getline
,考虑下面的简单示例,让file.txt
内容然后
给出输出
说明:在遇到
TC024
后,将标志p
设置为1
,print
当前行如果p
被设置为非零,当遇到空行print
时,使用getline
和print
的两个后续行然后将p
设置为0
。2wnc66cl2#
概念上本质上相同的方法,但是将所有模式动作块转换为单个
range pattern
,通过在
range pattern
本身中嵌入ON / OFF
指示符标志的切换,* 除了我用来定义默认标志值 * 的***BEGIN { }
***块,甚至可以完全不使用用户定义的动作块:kxkpmulp3#
请尝试以下操作:
或一行程序:
test1.txt
示例:输出: