我已经打开了 mysql 常规日志,并且记录了上周发生的每笔事务。我还有一个 cronjob 每 5 分钟运行一次,执行一些 mysql 事务,这会污染我的日志。我想知道如何从日志中删除这些条目,以便它看起来更干净。
cron 中的重复条目如下所示:
160614 16:45:01 36 Connect user@localhost on
36 Init DB db1
36 Query SELECT FROM status_history as sh INNER JOIN (SELECT work_order_i
d, MAX(status_changed) AS MaxDateTime FROM status_history GROUP BY work_order_id) as groupedsh ON sh.work_order_id = groupedsh.work_o
JOIN rchetype_work_order_views AS wov ON wo.id = wov.work_order_id
WHERE wov.viewed = 0 AND sh.status_id IN (SELECT status_id FROM rchetype_status_completed)
36 Quit
我正在考虑使用 sed 但问题是他的第一行显然有不同的日期和不同的事务号(在本例中为 36),我想删除所有行,直到它在最后找到第一个 Quit 。所以我想知道是否有办法做到这一点。我只是在寻找想法。
答案1
假设它们的行数始终相同,您可以执行以下操作:这将从当前目录中的文件“log.file”中
sed '/Connect\s*user@localhost on/,+7d' log.file
删除包含以下 7 行的行。Connect user@localhost on
编辑:最终的解决方案(好吧,至少足以让OP根据他的喜好进行修改)可以在评论中找到。