【发布时间】:2016-04-11 22:00:27
【问题描述】:
我正在自动化一些以 .csv 格式生成的数据,但在使用数据值格式化字段时我被卡住了。请帮我解决这个问题。
我在 .csv 文件中有以下数据:
April 3 2016 FL 03112017 0
April 4 2016 CA 04022016 0
April 5 2016 TX 04302016 0
April 6 2016 OH 05292016 0
April 7 2016 AZ 06092016 0
April 8 2016 MA 06252016 0
我想创建如下文件:
2016-04-03 FL 03112017 0
2016-04-04 CA 04022016 0
2016-04-05 TX 04302016 0
2016-04-06 OH 05292016 0
2016-04-07 AZ 06092016 0
2016-04-08 MA 06252016 0
我已经使用 awk 尝试过,类似这样:
awk -F "\t" '{print "date -d "$1" +'%Y-%m-%d'",$2,$3}' file.csv > file1.txt
这行不通。我无法将结果/计算值分配给必须打印的 $1。
【问题讨论】:
-
不,这不是重复的,因为此示例输入包含年份。此外,在该问题中选择的答案不是很好,因为其中的第一个脚本不必要地产生了一个子shell,并为文件中的每一行调用一个 shell 工具,而它所要做的就是计算出一年,然后在什么时候打印它改组每一行的文本,第二个答案错误地使用
getline(没有测试/保护失败)。