有没有办法让这个正则表达式在bash中运行?:
INSERT(\n|[^;])*;
这将允许我在文件中找到任何INSERT sql语句。
但是,对于“ grep ”,如果它们不在一行上,则无法找到它们,而“ pcregrep ”将不会批准[^;]
部分。< / p>
还有其他“ grep ”或者其他正则表达式吗?我在其他主题中搜索过,但我无法找到答案。
提前感谢您的贡献或与答案的链接。
答案 0 :(得分:0)
你可以使用awk
作为@Barmar说。
如上所述提取所有INSERT
的简单命令是:
awk '/INSERT/,/;/' filename
这匹配从INSERT到第一个后续分号的所有文本。 这假设您需要区分大小写的搜索,并确保所有INSERTS都以正确的分号终止。