gpt4 book ai didi

linux - 如何基于 regex Linux 更改文件中的行段

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:17:36 25 4
gpt4 key购买 nike

我有一个文件,其中每一行都以特定的日志信息开头。这是一个例子:

12-May 02:01:18:INFO:root:restapid=>someurlhere
12-May 02:01:19:INFO:root:response=>loremipsum

我想捕捉这些时间信息并将其替换为当前日期和时间。我能够通过使用 egrep 获得目标部分,但不幸的是我找不到改变它的方法(这可能是因为我不熟悉 sed)。我怎样才能做到这一点 ?我的 egrep 解决方案如下:

egrep '^[0-9]+-[a-Z]+ [0-9]+:[0-9]+:[0-9]+'weblog.api

如果我可以管理这部分,我想将此命令分配给我的 bashrc 中的一个函数(或别名),当我运行它时,我想通过调用类似

的东西来更改当前时间的所有时间信息
sample_alias weblog.api 

所需的输出格式如下(假设现在时间是 04 Feb 05:02:03。我相信我可以通过 date "+%y%m%d%H%M 获取时间信息" 命令)

    05-Feb 05:02:03:INFO:root:restapid=>someurlhere
05-Feb 05:02:03:INFO:root:response=>loremipsum

最佳答案

cat v1
12-May 02:01:18:INFO:root:restapid=>someurlhere
12-May 02:01:19:INFO:root:response=>loremipsum


sed 's/[0-9]*-[a-Z]* [0-9]*:[0-9]*:[0-9]*/'"$(date +"%d-%b %H:%M:%S")"'/g' v1
05-Feb 06:21:30:INFO:root:restapid=>someurlhere
05-Feb 06:21:30:INFO:root:response=>loremipsum

关于linux - 如何基于 regex Linux 更改文件中的行段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48616751/

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