希望获得另一个特定时间并保存输出。第一个小时是我的起点,例如:
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 :(得分:1)
这对你有用吗? (没有测试)
awk -F' |:' 'BEGIN{m="Nov";d=20;sh=13;eh=16}$1==m && $2==d && $3>=sh && $3<=eh' file
答案 1 :(得分: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'