提取特定部分

提取特定部分

我有多个部分,每个部分由多行组成。例如:

#--- Section 1 ---
Start  
Lookup.mdc|123|xyz|  
String  
End
#--- Section 2 ---
Start  
Lookup.mdc|123|xyz|  
Integer  
End  

我的要求是:我只需要提取包含的部分整数(数据类型搜索)在其中。

预期输出:

Start  
Lookup.mdc|123|xyz|  
Integer
End

答案1

awk 'BEGIN {RS="^--- Section [0-9]+"} /Integer/ {print}'

并将输入通过管道传输到其中,或者将文件名添加到末尾。

您不需要{print},因为这是默认操作,但我将其放入以使其更清晰。

BEGIN在处理输入之前执行,并设置魔术变量(RS记录分隔符)以匹配分隔记录的行。

匹配/Integer/包含 Integer 的记录。

相关内容