You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Shell脚本删除日志文件中两段指定区间的内容?

解决方案

可以使用sed命令实现批量删除指定文本块的需求,它擅长处理多行文本的范围匹配与删除操作。针对你的日志格式,执行以下命令即可完成两个清理任务:

sed -e '/^        ---Successful backups---$/,/^        ---Failed backups---$/d' \
    -e '/^        ---Unresolved clients---$/,/^---Summary notification report---$/d' log.out > cleaned_log.out

命令解释

  • 第一个规则/^ ---Successful backups---$/,/^ ---Failed backups---$/d:
    匹配以8个空格开头、后跟---Successful backups---的行,到以8个空格开头、后跟---Failed backups---的行,将这个范围内的所有行删除。
  • 第二个规则/^ ---Unresolved clients---$/,/^---Summary notification report---$/d:
    匹配以8个空格开头、后跟---Unresolved clients---的行,到以---Summary notification report---开头的行,删除该范围内的所有行。
  • > cleaned_log.out:将处理后的结果保存到新文件cleaned_log.out中,避免直接修改原日志文件。

验证效果

处理后的日志内容将变为:

---Summary notification report--- Policy name:xyz
        Workflow name:abc1, Workflow status:succeeded, Workflow start time:08/01/23 14:30:00, Duration:0 hours 0 minutes 33 seconds
                Action name:backup, Action status:succeeded, Action start time:08/01/23 14:30:00, Duration:0 hours 0 minutes 33 seconds
--- Traditional Backup Action report --- Policy name:xyz Workflow name:abc1 Action name:backup Action status:succeeded Action start time:08/01/23 14:35:00 Action duration:0 hours 0 minutes 30 seconds Total 1 client(s), 0 Succeeded with warning(s), 1 Succeeded, 0 Failed, 0 Unresolved.

内容的提问来源于stack exchange,提问作者Swapnil Dagar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 15:01:13