gpt4 book ai didi

regex - 从日志文件中删除日期

转载 作者:行者123 更新时间:2023-12-01 09:30:28 24 4
gpt4 key购买 nike

我有一个irc日志如下

04/14/13 21:38<@Hamatti> Lorem ipsum dolor sit amet
04/14/13 21:39<@Hamatti> consectetur adipiscing elit.
04/14/13 21:45<@Hamatti> Duis facilisis convallis lacus

EDIT1。对不起,我不清楚我的意图。所以我希望前一个的输出是

21:38<@Hamatti> Lorem ipsum dolor sit amet
21:39<@Hamatti> consectetur adipiscing elit.
21:45<@Hamatti> Duis facilisis convallis lacus

所以时间很重要。

EDIT2还有部分日志,格式比较早的

20:12<@Hamatti> Something.
20:13<@Hamatti> Funny.
20:13<@Hamatti> Happened.

我需要不修改这些行。

由于我的旧日志格式没有日期戳,我想从以后的日志中删除日期。

sed 's/[0-9]{2}\/[0-9]{2}\/[0-9]{2}//g' logfile

sed 中的正则表达式似乎在正则表达式测试器中工作,但这个 sed 没有做任何事情。我想知道问题出在哪里?非常欢迎使用 bash 工具(sed、awk 等)的任何提示。由于只有部分日志有日期,我不能使用类似的东西

awk '{$1 = ""; print}'

因为我需要先检查。

最佳答案

这个 sed 命令可以完成这项工作:

sed -i.bak 's/^[^<]*//' logfile

编辑:根据您的评论,这只会清除日期部分并保留时间戳:

sed -i.bak 's/^[^ ]* //' logfile

编辑 2:基于您第二次编辑的问题:

sed -i.bak 's#^[0-9]*/[0-9]*/[0-9]* ##' logfile

或者像这样在 sed 中使用扩展的正则表达式功能:

苹果机:

sed -E -i.bak 's#^[0-9]{1,2}/[0-9]{1,2}/[0-9]{1,2} ##' logfile

Linux:

sed -r -i.bak 's#^[0-9]{1,2}/[0-9]{1,2}/[0-9]{1,2} ##' logfile

关于regex - 从日志文件中删除日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16008622/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com