unix 如何用Sed命令更改日期格式?

oxcyiej7  于 2022-12-18  发布在  Unix
关注(0)|答案(1)|浏览(114)

我尝试使用sed命令将文件所有行中的日期格式从YYYY-MM-DD更改为DD/MM/YYYY。
例如:

2021-04-01 00:15,69,0,38,1,1,0,0,0,32

应为:

01-04-2021 00:15,69,0,38,1,1,0,0,0,32

我尝试使用正则表达式执行以下操作:

sed -E 's,[0-9]{4}-[0-9]{2}-[0-9]{2},\3-\2-\1,g'


不幸的是,这不起作用,并给我一个错误(没有在RE中定义)。
如果有人能帮我解决这个问题就太好了。

uurity8g

uurity8g1#

您忘记使用( ) * 捕获组 *:

$ sed -E 's,^([0-9]{4})-([0-9]{2})-([0-9]{2}),\3-\2-\1,g' <<< '2021-04-01 00:15,69,0,38,1,1,0,0,0,32'
01-04-2021 00:15,69,0,38,1,1,0,0,0,32

相关问题