我有一个包含数千个以 <\registername> 开头并以 <\regend> 结尾的函数的文件。 Fie 中很少有具有特定模式的功能,而且大多数功能内部都没有该模式。我只想要其中包含特定模式的输出代码。 我有一个如下所示的输入程序:-
输出文件中不需要 func3 和 func5 代码。
<registername> func1<\registername>
<var>...
<pattern> are you good <pattern>
<\regend>
<registername> func2<\registername>
<var>...
<pattern> are you good <pattern>
<\regend>
<registername> func3<\registername>
<var>...
<no_pattern> are you good <pattern>
<\regend>
<registername> func4<\registername>
<var>...
<pattern> are you good <pattern>
<\regend>
<registername> func5<\registername>
<var>...
<no_pattern> are you good <pattern>
<\regend>
<registername> func1<\registername>
<var>...
<pattern> are you good <pattern>
<\regend>
<registername> func2<\registername>
<var>...
<pattern> are you good <pattern>
<\regend>
<registername> func4<\registername>
<var>...
<pattern> are you good <pattern>
<\regend>
最佳答案
这是你想要做的吗?
$ awk -v RS= -v ORS='\n\n' '/\n<pattern>/' file
<registername> func1<\registername>
<var>...
<pattern> are you good <pattern>
<\regend>
<registername> func2<\registername>
<var>...
<pattern> are you good <pattern>
<\regend>
<registername> func4<\registername>
<var>...
<pattern> are you good <pattern>
<\regend>
或:
$ awk -v RS= -v ORS='\n\n' '!/<no_pattern>/' file
<registername> func1<\registername>
<var>...
<pattern> are you good <pattern>
<\regend>
<registername> func2<\registername>
<var>...
<pattern> are you good <pattern>
<\regend>
<registername> func4<\registername>
<var>...
<pattern> are you good <pattern>
<\regend>
如果这些都不是您想要的,请更新您的问题以阐明您的要求并提供更具代表性的示例输入/输出。
关于python - 如何打印包含某些特定模式的程序的完整功能摘录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55423544/