小编f2s*_*f2s的帖子

sed:返回上次出现的匹配,直到文件结束

使用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)

regex bash sed

8
推荐指数
2
解决办法
2万
查看次数

标签 统计

bash ×1

regex ×1

sed ×1