2012-11-01 51 views
1

的問題如下: 我有一個名爲brain.txt與字符的線條像這樣的文件:行的每一個第7個字符必須是一個+

++++++++++[>++++++++>++++++>+<<<-]>+++.>+++++.<-.+.>>. word 

word末才能真正無論如何。 如何過濾文檔中每7個字符爲加號的行? 例如:+......+......+......+..... word

我寫了下面的命令:

egrep '^\+(.{6}\+)+.{,6}\s' brain.txt 

但它似乎沒有工作,任何人都可以給我解釋一下什麼是不正確有關此命令嗎?

+1

究竟是什麼不起作用? –

+0

您列出的正則表達式[將正確捕獲](http://rubular.com/r/pxBsVORD2G)您輸入的行。問題是什麼? – ean5533

+0

這個問題不再有意義,因爲它的錯誤是*修正*在編輯.. – antak

回答

1

問題是速記符號{,6}似乎不適用於給定的正則表達式風格。只需將它寫出來:

egrep '^\+(.{6}\+)+.{0,6}\s' brain.txt 

注意,這需要至少2+秒。單個\+開頭,另一個在子模式(因爲它重複至少一次)。如果+.... word對您而言是有效的行,請使用:

egrep '^\+(.{6}\+)*.{0,6}\s' brain.txt 
+0

謝謝,這確實是問題。我認爲這工作在egrep雖然.. – jvermeulen

+0

@ user1790040啊好吧,不能知道這一點;) –

相關問題