【发布时间】:2014-04-23 17:19:31
【问题描述】:
我有一个 CSV 文件,我使用 awk 解析它,因为我不需要所有列。
我遇到的问题是一列是日期,但格式为YYYYMMDD,但我需要YYYY-MM-DD,但我不知道如何实现。
我已经尝试过使用split($27, a),但它没有拆分它 - 所以a[0] 返回整个字符串。
【问题讨论】:
标签: linux string bash awk format
我有一个 CSV 文件,我使用 awk 解析它,因为我不需要所有列。
我遇到的问题是一列是日期,但格式为YYYYMMDD,但我需要YYYY-MM-DD,但我不知道如何实现。
我已经尝试过使用split($27, a),但它没有拆分它 - 所以a[0] 返回整个字符串。
【问题讨论】:
标签: linux string bash awk format
你可以使用substr:
printf "%s-%s-%s", substr($27,0,4), substr($27,5,2), substr($27,7,2)
假设第 27 个 字段是20140318,这将产生2014-03-18。
【讨论】:
使用您的awk 输出作为date -d 的输入,例如
$ date -d 20140918 +'%Y-%m-%d'
2014-09-18
【讨论】: