正则表达式:在EOL忽略+(加号)?

时间:2012-08-02 19:47:16

标签: regex grep code-analysis

我正在尝试通过大量数量的旧AS / 400代码(CL,COBOL等)进行grep。在某些情况下,命令被“包裹”到具有+符号的下一行。您可以在标识符的中间确实中断并在下一行继续它。

例如:

SELECT * FROM LIBR+
ARY/FILE

但是同样的代码可以用这种方式编写(这个中断可以在任何地方):

SELECT * FROM LI+
BRARY/FILE

在这种情况下,我会寻找像'LIBRARY\/'之类的东西来找到那个标识符。

使用正则表达式忽略换行很容易,但我如何忽略+

2 个答案:

答案 0 :(得分:0)

如果你可以忽略新行,你可以忽略加号后跟一个新行;) 考虑逃避加号,因为它是一个正则表达式字符。

答案 1 :(得分:0)

使用sedgrep的一种方式:

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