2012-11-21 101 views
1

想要獲得特定的小時數並保存輸出。第一個小時是例如我的起點:如何將數據從一個字符串提取到另一個字符串並保存到輸出中

Nov 20 13:42:52 host sendmail[14819]: qAKCgpxF014819: Milter: read returned -1: Connection reset by mail.yahoo.com 

我的終點就是:

Nov 20 16:22:23 host sendmail[16326]: qAKCgpxF016326: Milter: read returned -1: Connection reset by mail.yahoo.com 

我需要從我做起點的所有數據保存到我的終點到唯一的文件。

+0

你打算怎麼做,在一行?或者你打算在某些步驟中做出 – 2012-11-21 12:27:09

+0

實際上,我只需要從這個小時的開始到結束小時的輸出,只需檢查maillog並想從第一個點提取數據到另一個。 –

回答

1

如果記錄按時間排序,你可以

sed -n '/^Nov 20 13:42:52/,/^Nov 20 16:22:23/p' input.log > output.log 

當心,如果有更多的記錄與結束時間,只有第一個將被打印。你可以通過改進

sed -n '/start/,/end/{p;d};/end/p' 
+0

那就是我需要的, 謝謝。 –

1

爲您工作嗎? (未測試)

awk -F' |:' 'BEGIN{m="Nov";d=20;sh=13;eh=16}$1==m && $2==d && $3>=sh && $3<=eh' file 
相關問題