1

特定の時間を別の時間に取得して、出力を保存したい。たとえば、最初の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

開始点から終了点までのすべてのデータをファイルのみに保存する必要があります。

4

2 に答える 2

1

これはあなたのために働きますか?(テストしませんでした)

awk -F' |:'  'BEGIN{m="Nov";d=20;sh=13;eh=16}$1==m && $2==d && $3>=sh && $3<=eh' file
于 2012-11-21T12:42:15.887 に答える
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'
于 2012-11-21T13:17:55.620 に答える