我有一个这样的文件:
A345435;3/12/2016
D564565;12/29/2017
...
我正在尝试将文件转到以下位置:
A345435;20160312
D564565;20171229
...
我试过AWK,但第一部分没问题,日期总是一样的。
awk 'BEGIN {FS=OFS=";"} {"date -d"$2" +%Y%m%d" | getline newDate; close(newDate); print $1,newDate}'
A345435;20160312
D564565;20160312
...
实际上不需要使用AWK,但我要避免的是循环文件,因为它有大约20k行。
最佳答案
你只需要:
$ awk -F'[;/]' '{printf "%s;%s%02d%02d\n",$1,$4,$2,$3}' file
A345435;20160312
D564565;20171229