2013-03-15 39 views
1

我設法錯過了一個字母,並刪除了兩個不同表中的大約10000多條SQL記錄....
無論如何,我在過去的4個小時裏一直在閱讀和測試軟件以恢復這些記錄。總之,忘了它...
但是,我確實有詳細的應用程序日誌啓用。
這是一個例子:
解析日誌以恢復SQL插入信息

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個月份錄得這個樣的日誌收回的,再說插入信息,有太多其他線路與diferent信息。
我不在乎它是在Linux還是在Windows中,awk,sed等任何東西都會很棒,而且是非常好的幫助。

回答

2

從當前的例子,這條線的工作原理:

grep -io "insert into .*" file 

從你的輸入(例如),在SQL中,要提取,開始與「插入」。它是獨一無二的。所以它很容易找到和提取。如果它不適用於您的真實數據,請粘貼更多示例作爲輸入。

+0

啊....有時候,簡單的答案真的是最好的!我已經在研究一個小工具。謝謝 – 2013-03-15 02:02:12