【发布时间】:2018-09-05 06:02:11
【问题描述】:
我需要帮助删除两个空行之前的文本。
任何人都可以通过 SED 帮助做到这一点吗?
示例:(我的日志文件) 行:“%%%% 信息 | 日期:...”
来源:
%%%% Info | Date: (11-02-18)-Day=042 - %%%%
OLD: android-902 (11-02-18 02:30)
Wi-Fi up - USB (11-02-18 03:21:21)
%%%% - Info | Date: (12-02-18)-Day=043 - %%%%
Wi-Fi up - USB (12-02-18 07:17:02)
Smart Connected (12-02-18 10:19)
%%%% - Info | Date: (13-02-18)-Day=044 - %%%%
%%%% - Info | Date: (14-02-18)-Day=045 - %%%%
%%%% - Info | Date: (15-02-18)-Day=046 - %%%%
%%%% - Info | Date: (16-02-18)-Day=047 - %%%%
Wi-Fi up - USB (16-02-18 06:32:24)
输出:
%%%% Info | Date: (11-02-18)-Day=042 - %%%%
OLD: android-902 (07-02-18 02:30)
Wi-Fi up - USB (07-02-18 03:21:21)
%%%% - Info | Date: (12-02-18)-Day=043 - %%%%
Wi-Fi up - USB (12-02-18 07:17:02)
Smart Connected (12-02-18 10:19)
%%%% - Info | Date: (16-02-18)-Day=047 - %%%%
Wi-Fi up - USB (16-02-18 06:32:24)
提前致谢。
【问题讨论】:
-
Stack Overflow 不是代码编写服务。请出示您的代码。由于 Stack Overflow 向您隐藏了关闭原因:寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定问题或错误以及在问题本身。没有明确问题陈述的问题对其他读者没有用处。请参阅:How to create a Minimal, Complete, and Verifiable example。
-
在您的输出中,为什么倒数第二个非空行是
%%%% - Info | Date: (16-02-18)-Day=047 - %%%%而不是%%%% - Info | Date: (13-02-18)-Day=044 - %%%%。后者前面只有一个空行;你展示的有两个。 -
给新人的建议:如果一个答案解决了您的问题,请点击旁边的大复选标记 (✓) 接受它,也可以选择投票(投票至少需要 15 声望)点)。如果您发现其他答案有帮助,请给他们投票。接受和投票有助于未来的读者。请参阅[相关帮助中心文章][1] [1]:stackoverflow.com/help/someone-answers
-
你说得对,我犯了编辑错误。每日书签 "%%%%" 前面有两个空行: echo -e "\n\n\t%%%% - 信息 | 日期:
date +"(%d-%m-%y)-Day=%j"- %%%%" >> $LOG 日志事件前面只有一行: echo -e '\n'Wi-Fi up - USBdate +"(%d-%m-%y %T)">> $LOG