今晚与bash有点偏执,试图在可能的情况下在一行中提取一些数据
文件行如下所示:
37,140101,0305,5.24e-008,0.0,0,+ 7.2,+ 8.4,1.2,250,997.1,46.7,23.7
通过使用以下命令,我得到了我感兴趣的行:
grep 140101 `find /home/rsync/inc/37/ -name '*.dat'` | \
awk -F ":" '{ print $2 }' | awk -F "," '{ print $1","$2","$3","$4 }
让我到这里: 0433,20130228,235010,10,5.604e-08
我需要将日期和时间(140101,0305)转换为(20140101,030500) - 将4位数年份和秒数(00)添加到时间。
我当然可以循环它并使用date命令格式化,但是如果有任何方法可以“随时随地”转换,我就会徘徊。 对于时间我可能会使用静态“00”。可以做同样的事情,并在今年前加上“20”并让它工作,直到它是别人的问题,因为我将在那之前走了!但它太丑了:)
有什么想法吗?谢谢你的期待。