bash – 匹配后首次出现awk打印
发布时间:2020-12-16 01:53:00 所属栏目:安全 来源:网络整理
导读:我正在尝试在两个模式之间打印文本文件的一部分,然后仅返回第一个模式.应该很简单,但我似乎无法找到解决方案. cat test.html if (var == "Option_1"){ document.write("tdhead1/td") document.write("tdtext1/td")}if (var == "Option_2"){ document.write("
我正在尝试在两个模式之间打印文本文件的一部分,然后仅返回第一个模式.应该很简单,但我似乎无法找到解决方案.
cat test.html if (var == "Option_1"){ document.write("<td>head1</td>") document.write("<td>text1</td>") } if (var == "Option_2"){ document.write("<td>head2</td>") document.write("<td>text2</td>") } if (var == "Option_1"){ document.write("<td>head3</td>") document.write("<td>text3</td>") } 这打印所有匹配: awk '/Option_1/,/}/' test.txt 我需要它只返回第一个,即: if (var == "Option_1"){ document.write("<td>head1</td>") document.write("<td>text1</td>") } 谢谢! 解决方法
永远不要使用范围表达式,因为它们使得琐碎的工作变得非常简单,但是需要完全重写或重复条件才能完成更有趣的任务.始终使用旗帜:
$awk '/Option_1/{f=1} f{print; if (/}/) exit}' file if (var == "Option_1"){ document.write("<td>head1</td>") document.write("<td>text1</td>") } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |