永发信息网

linux如何使用awk sed字符插入实现文档日期转换

答案:2  悬赏:40  手机版
解决时间 2021-01-23 13:37
  • 提问者网友:愿为果
  • 2021-01-23 02:12
在linux下如何实现每行的日期格式转换:
目前文档:test.txt
130409 1457 1.1 1.0 0.3 0.3
130416 1454 1.0 0.9 0.3 0.3
要转换成:
2013-04-09 1457 1.1 1.0 0.3 0.3
2013-04-16 1454 1.0 0.9 0.3 0.3
目前在网上已将文档用sed命令转成:
13-04-09 1457 1.1 1.0 0.3 0.3
13-04-16 1454 1.0 0.9 0.3 0.3
问题是如何根据两位年份YY年份转成四位数的YYYY-MM-DD?最好根据YY判断:if YY>50 为19YY or 20YY。
求大神指导。
最佳答案
  • 五星知识达人网友:持酒劝斜阳
  • 2021-01-23 02:58
用date命令转换,没有你想象的那么复杂:

while read a b c d e f
do
echo `date -d $a +%Y%m%d` $b $c $d $e $f
done< test.txt
全部回答
  • 1楼网友:轻熟杀无赦
  • 2021-01-23 04:25
使用零宽断言,grep 需要支持-p 参数。 grep -po '(?<=count=)[0-9]+' filename
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯