使用sed,如何返回匹配的最后一次出现,直到文件结束?(仅供参考,这已经简化)
到目前为止,我已经尝试过:
sed -n '/ Statistics |/,$p' logfile.log
Run Code Online (Sandbox Code Playgroud)
从第一场比赛开始返回所有线路(几乎整个文件)
我也尝试过:
$linenum=`tail -400 logfile.log | grep -n " Statistics |" | tail -1 | cut -d: -f1`
sed "$linenum,\$!d" logfile.log
Run Code Online (Sandbox Code Playgroud)
这可以工作但不能在一个命令中使用ssh连接,真的需要它在一个管道中.
日志文件的格式如下:
(每分钟都有子数据写入日志文件的统计信息头,此命令的目的是返回最新的Statistics头以及头后发生的任何相关错误)
Statistics |
Stuff
More Stuff
Even more Stuff
Statistics |
Stuff
More Stuff
Error: incorrect value
Statistics |
Stuff
More Stuff
Even more Stuff
Statistics |
Stuff
Error: error type one
Error: error type two
Run Code Online (Sandbox Code Playgroud)
EOF
返回需要是:
Statistics |
Stuff
Error: error type one
Error: error type two
Run Code Online (Sandbox Code Playgroud)