我在Linux命令行上,我的日志文件包含以下内容
Subscription Service Shutdown at 9:59PM UTC
Subscription Service Restarted at 11:57PM UTC
我想在每个行的时间戳之前添加日期
Subscription Service Shutdown at 01 Oct 2016 9:59PM UTC
Subscription Service Restarted at 01 Oct 2016 11:57PM UTC
答案 0 :(得分:2)
vim方式:
:%s/ at /&knownString/
答案 1 :(得分:1)
这样的事情:
sed -r“s /([0-9] + {1}:[0-9] + {1} [AZ] {2}。* $)/ 2016年10月1日\ 1 / g”测试。 txt> new.txt
text.txt是你的日志文件,“2016年10月1日”是你的文字,\ 1是从小组赛中插回来的时间。
答案 2 :(得分:0)
你可以尝试这样的事情;
echo "Subscription Service Shutdown at 9:59PM UTC" | sed "s/at */at $(date '+%Y %b %d') /"
例如
$ echo "Subscription Service Shutdown at 9:59PM UTC" | sed "s/at */at $(date '+%Y %b %d') /"
Subscription Service Shutdown at 2016 Nov 08 9:59PM UTC
答案 3 :(得分:0)
在vim
1)在at
:%s/at \zs/01 Oct 2016 /
2)找到格式为HH:MM
的时间字符串,后跟AM UTC
或PM UTC
并添加字符串。如果您只需要在行尾
$
锚点
:%s/\v(\d{1,2}:\d{1,2}[AP]M UTC)/01 Oct 2016 \1/