我有一个sql转储文件,我想从中提取Insert语句。我正在尝试使用awk
执行此操作。
insert语句跨越多行。它们以INSERT
开头,以分号结尾。
我尝试过使用:
awk '/INSERT*;/' dump.sql
但它不起作用。这样做的正确方法是什么? (我的google-fu在这个上失败了)
谢谢!
答案 0 :(得分:3)
答案 1 :(得分:1)
像这样(或@belisarius建议的)有效:
awk '{ if ($1 ~ /^\s*INSERT/) print $0 ";" }' RS=";" dump.sql
设置记录分隔符非常简单且记录良好:
http://www.gnu.org/software/gawk/manual/html_node/Multiple-Line.html
我似乎无法找到@ belisarius解决方案中双重匹配的参考,但我更喜欢它。
答案 2 :(得分:0)
我认为你错过了一个“。”如awk '/INSERT.*;/' dump.sql