解析日志以恢复SQL插入信息

时间:2013-03-15 01:30:04

标签: sql parsing sed awk

我设法错过了一封信,并在两张不同的表格中删除了大约10000多条SQL记录.... 无论如何,我在过去4小时内一直在阅读和测试软件以恢复这些记录。简而言之,忘记它...
但是,我确实在完整详细的情况下启用了应用程序日志 这是一个例子:

07.03 17:04:30|      |         » 0
07.03 17:04:30|      |SQLSERVER» MyProcedure.InsertHeader:insert into mytable(myFields,...) values(0,etc)
07.03 17:04:30|      |         #1

我的简单问题是如何在没有用户干预的情况下解析这个问题? 所以最终结果只是:

insert into mytable(myFields,...) values(0,etc)

我有1个月的这种日志要恢复,除了插入信息外,还有太多其他行有不同的信息。
我不在乎它是在Linux还是Windows,像awk,sed,任何东西,都会很棒,而且非常好帮助。

1 个答案:

答案 0 :(得分:2)

从您当前的示例中,此行有效:

grep -io "insert into .*" file

从您的输入(示例)中,要提取的sql以“insert into”开头。它是独一无二的。因此很容易找到并提取。如果它不能与您的实际数据一起使用,请粘贴更多示例作为输入。