【发布时间】:2016-02-21 03:12:09
【问题描述】:
我有一个包含如下行的文件:
2012/04/08 15:00,207
2012/04/08 16:00,180
我想格式化日期,使文件看起来像:
08/04/2012 15:00,207
Awk 似乎是正确的工具,但我无法让它正确捕获组。我尝试过类似以下的方法 (Use sed or awk to fix date format):
awk '
BEGIN { FS = OFS = "," }
{ split($1, date, /\// )
$1 = date[3] "-" date[2] "-" date[1] " " date[4]
print $0
}
' $FILE
但它给我留下了这样的数据:
08 15:00-04-2012,207
Awk 的拆分显然是将时间解释为日期字符串的年份字段的一部分,而我似乎无法找到将其单独拆分的方法。我在拆分分隔符字段中尝试了许多不同的东西,比如冒号或转义空格,但都给出了语法错误。看过 awk split 的文档,并没有受到启发。
【问题讨论】:
标签: linux unix awk sed delimiter