跟进有关给定搜索字符串的多行字符串的问题

时间:2019-05-16 10:35:20

标签: bash

我需要针对该主题的解决方案进行增强:How do I get multi-line string between two braces containing a specific search string?

如果搜索字符串在方括号内,则解决方案有效:

awk -v RS='[^\n]*{|}' 'RT ~ /{/{p=RT} /test/{print p $0 RT}' file

其中: /test/-在括号内查找测试

我正在尝试更改或操作'RT ~ /{/{p=RT} /test/{print p $0 RT}'部分,但无济于事

来自包含文件的文件:

blabla
program1 {
  blabla
}
blabla
program2 {
  blabla
  blablaeventblabla
}

我不想搜索括号内的值,而是想通过搜索“ program2”来检查或返回整个块。这样awk将返回

program2 {
  blabla
  blablaeventblabla
}

0 个答案:

没有答案