Sed 如何将数据从一个字符串提取到另一个字符串并保存到输出

Sed 如何将数据从一个字符串提取到另一个字符串并保存到输出,sed,awk,grep,tr,Sed,Awk,Grep,Tr,希望将特定的小时数传递给另一个小时并保存输出。第一个小时是我的出发点,例如: 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: Connecti

希望将特定的小时数传递给另一个小时并保存输出。第一个小时是我的出发点,例如:

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
我只需要将从起点到终点的所有数据保存到文件中。

这对您有用吗?(没有测试)


awk-F'|:''BEGIN{m=“Nov”;d=20;sh=13;eh=16}$1==m&&$2==d&&$3>=sh&&$3如果记录按时间排序,您可以

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'

你打算怎么做,在一行?或者你计划在某个步骤中完成。实际上,我只需要从这一小时开始到最后一小时的输出。只需检查邮件日志,并想从第一个点提取数据到另一个点。这就是我需要的,谢谢。
sed -n '/start/,/end/{p;d};/end/p'