2012-08-02 58 views
2

我試圖grep通過數額舊的AS/400代碼(CL,COBOL等)。有些情況下,命令被「包裝」到+符號的下一行。您可以在標識符中間逐字地中斷並在下一行繼續。正則表達式:在EOL中忽略+(加號)?

例如:

SELECT * FROM LIBR+ 
ARY/FILE 

但同樣的代碼可以這樣寫的(這個突破可以在任何地方):

SELECT * FROM LI+ 
BRARY/FILE 

在這種情況下,我會尋找與到grep像'LIBRARY\/'找到該標識符。

用正則表達式忽略換行符很容易,但我怎樣才能忽略+

+1

你可以在你的代碼刪除'/ \ + \ r \ n/g'和管道將操作的結果到grep的? – Bergi 2012-08-02 19:51:50

回答

0

如果你可以忽略新的行,你可以忽略加號後跟一個新行;) 想想逃避加號,因爲它是一個正則表達式字符。使用sedgrep

0

方式一:

< file.txt sed ':a;N;$!ba; s/+\n//g' | grep "LIBRARY/"