下面我有以下內容的文件:用grep左括號
文本
(
瞎扯 「測試」
集(「TEST_SUB 「)
原點(354 504)
本地化 「T」
)
我有使用VIM /文字\ n [\噸] 。\ n [\噸]並突出顯示了「文本」一詞和左括號。
但是當我使用的egrep '文字\ n [\噸] 。\ n [\噸]' 沒有輸出。只是想知道我怎麼能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