繁体   English   中英

如何在文本文件linux / unix中更改日期格式

[英]How to change date format in text file linux/unix

以下是文本文件myfile.txt

7022122465,0,0,day,2015-09-29 10:48:33
7022597642,0,0,day,2015-09-29 10:48:33
7022848906,0,0,day,2015-09-29 10:48:33
7022191546,0,0,day,2015-09-29 10:48:33
7022180761,0,0,day,2015-09-29 10:48:33
7022125589,0,0,day,2015-09-29 10:48:33
7022224472,0,0,day,2015-09-29 10:48:33

我想使用正则表达式将最后一列日期格式从2015-09-29更改为2015:09:29,请帮助我。

我已经尝试过了,但是替换了正则表达式(我是linux的初学者)

sed -r  's/([0-9]{4}-[0-9]{2}-[0-9]{2})/([0-9]{2}:[0-9]{2}:[0-9]{2})/g' myfile.txt

你可以用这个

sed -r 's/([0-9]{4})-([0-9]{2})-([0-9]{2})/\1:\2:\3/g' myfile.txt

()是捕获组。 无论使用捕获组匹配的结果如何,都可以存储它们,并且可以在替换期间使用\\1\\2等进行反向引用。

([0-9]{4})-([0-9]{2})-([0-9]{2})
<--------> <--------> <-------->
1st group  2nd group  3rd group

而不是分组,您应该尝试:

sed 's/-/:/g' myfile.txt

如果要在适当位置编辑文件,请使用i选项,例如: sed -i 's/-/:/g' myfile.txt

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM