我有一个CSV
文件,我使用awk
解析,因为我不需要所有列。
我遇到的问题是,一列是日期,但格式为YYYYMMDD
,但我需要YYYY-MM-DD
,我不知道如何实现。
我已经尝试使用split($27, a)
,但它没有将其拆分 - 所以a[0]
会返回整个字符串。
答案 0 :(得分:3)
您可以使用substr
:
printf "%s-%s-%s", substr($27,0,4), substr($27,5,2), substr($27,7,2)
假设27 th 字段为20140318
,则会产生2014-03-18
。
答案 1 :(得分:2)
使用awk
输出作为date -d
的输入,例如
$ date -d 20140918 +'%Y-%m-%d'
2014-09-18