我正在尝试通过大量数量的旧AS / 400代码(CL,COBOL等)进行grep。在某些情况下,命令被“包裹”到具有+
符号的下一行。您可以在标识符的中间确实中断并在下一行继续它。
例如:
SELECT * FROM LIBR+
ARY/FILE
但是同样的代码可以用这种方式编写(这个中断可以在任何地方):
SELECT * FROM LI+
BRARY/FILE
在这种情况下,我会寻找像'LIBRARY\/'
之类的东西来找到那个标识符。
使用正则表达式忽略换行很容易,但我如何忽略+
?
答案 0 :(得分:0)
如果你可以忽略新行,你可以忽略加号后跟一个新行;) 考虑逃避加号,因为它是一个正则表达式字符。
答案 1 :(得分:0)
使用sed
和grep
的一种方式:
< file.txt sed ':a;N;$!ba; s/+\n//g' | grep "LIBRARY/"