1

我设法错过了一个字母并删除了大约 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 之类的东西会很棒,而且会很有帮助。

4

1 回答 1

2

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

grep -io "insert into .*" file

从您的输入(示例)中,您要提取的 sql 以“插入”开头。它是独一无二的。所以很容易找到和提取。如果它不适用于您的真实数据,请粘贴更多示例作为输入。

于 2013-03-15T01:39:12.117 回答