我正在自動生成一些以.csv格式生成的數據,並且我在使用數據值格式化字段時遇到困難。請幫助我。如何在Unix中更改每行數據的日期格式?
我有一個.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。
[在AWK轉換日期]的可能的複製(http://stackoverflow.com/questions/2121896/converting-dates-in-awk) – bufh
不,它不是一個DUP因爲這個樣本輸入含有那一年。另外,在這個問題中選擇的答案並不是很好,因爲第一個腳本不必要地產生一個子shell,並在文件中的每一行都調用一個shell工具,當它需要做的就是計算一年,然後打印出來在每行上洗牌,第二個答案錯誤地使用'getline'(沒有測試/保護失敗)。 –