用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"
)
答
相反的egrep
可以使用sed
。
sed -n '/^text/,/^($/p' yourfile
将打印从text
找到的所有行,直到在行的开头找到(
。
另外,您应该知道正则表达式无法处理嵌套圆括号。 – amccormack 2011-03-03 04:02:40
谢谢。这样可行。这是做到这一点的一种方式。 – user642318 2011-03-03 04:07:17
但是,是否有一种方法可以将reg表达式作为SET的条件可能因案例而异。 – user642318 2011-03-03 04:08:05