用grep左括号

问题描述:

下面我有以下内容的文件:用grep左括号

文本


           瞎扯 “测试”
           集(“TEST_SUB “)
           原点(354 504)
           本地化 “T”

我有使用VIM /文字\ n [\吨] 。\ n [\吨]并突出显示了“文本”一词和左括号。

但是当我使用的egrep '文字\ n [\吨] 。\ n [\吨]' 没有输出。只是想知道我怎么能grep,直到右括号。

谢谢。

如果您知道样本将会有多长时间,您可以使用After标志,使用-AN,其中N是您想要抓取的匹配之后的行数。

$grep -A7 "text" file.txt 
text 

(
     gab "test" 
     set("TEST_SUB") 
     origin(354 504) 
     localize "T" 
) 
+2

另外,您应该知道正则表达式无法处理嵌套圆括号。 – amccormack 2011-03-03 04:02:40

+0

谢谢。这样可行。这是做到这一点的一种方式。 – user642318 2011-03-03 04:07:17

+0

但是,是否有一种方法可以将reg表达式作为SET的条件可能因案例而异。 – user642318 2011-03-03 04:08:05

相反的egrep可以使用sed

sed -n '/^text/,/^($/p' yourfile将打印从text找到的所有行,直到在行的开头找到(