bash脚本 - csv列修改

时间:2014-01-27 00:07:08

标签: bash csv

今晚与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”并让它工作,直到它是别人的问题,因为我将在那之前走了!但它太丑了:)

有什么想法吗?谢谢你的期待。

0 个答案:

没有答案