2012-06-14 24 views
2

我有一个包含电子表格(.tsv)中日期列表的列(某些单元格空白)这样的:
1988年6月30日

2000年1月2日
等...
使用shell脚本将日期格式从'm/d/yyyy'转换为tsv文件中的'yyyy-mm-dd'

,我想用日期在列列表的file.tsv(保持空白单元格,因为它用于在数据库中导出,并且我需要空白单元格用于我的关节):
1988-06-30

2000年1月2日
等...

我做了一些研究,但因为我是一个初学者,我穿上吨设法做到这一点。 非常感谢

回答

6

可以使用date命令:

$ date -d 6/30/1988 +%F 
1988-06-30 
2

这里是不使用外部程序一个bash/Korn shell的解决方案:

while IFS='/' read dd mm yyyy 
do 
    printf "%04d-%02d-%02d\n" $yyyy $mm $dd  
done < filename 

设置IFS分离围绕该值字符。

+0

+1 Nice解决方案! – ruakh

相关问题