![提取特定部分](https://linux22.com/image/98872/%E6%8F%90%E5%8F%96%E7%89%B9%E5%AE%9A%E9%83%A8%E5%88%86.png)
我有多个部分,每个部分由多行组成。例如:
#--- 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 的记录。