Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 将日期格式从';年月日';至';yyyy-mm-dd';在tsv文件中使用shell脚本_Bash_Shell_Unix_Date_Format - Fatal编程技术网

Bash 将日期格式从';年月日';至';yyyy-mm-dd';在tsv文件中使用shell脚本

Bash 将日期格式从';年月日';至';yyyy-mm-dd';在tsv文件中使用shell脚本,bash,shell,unix,date,format,Bash,Shell,Unix,Date,Format,我在电子表格(.tsv)中有一列日期列表(某些单元格为空),如下所示: 1988年6月30日 2000年1月2日 等等…… 并且我想要一个文件,一个列中包含日期列表的TSV(保持空白单元格,因为它是用于数据库中的导出,而我需要为我的关节创建空白单元格): 1988-06-30 2000-01-02 等等…… 我做了一些研究,但由于我是初学者,我没能做到。 非常感谢您可以使用日期命令: $ date -d 6/30/1988 +%F 1988-06-30 下面是一个不使用外部程序的bash/

我在电子表格(.tsv)中有一列日期列表(某些单元格为空),如下所示:
1988年6月30日

2000年1月2日
等等……

并且我想要一个文件,一个列中包含日期列表的TSV(保持空白单元格,因为它是用于数据库中的导出,而我需要为我的关节创建空白单元格):
1988-06-30

2000-01-02
等等……

我做了一些研究,但由于我是初学者,我没能做到。
非常感谢

您可以使用
日期
命令:

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

下面是一个不使用外部程序的bash/korn shell解决方案:

while IFS='/' read dd mm yyyy
do
    printf "%04d-%02d-%02d\n" $yyyy $mm $dd    
done < filename
当IFS='/'读取dd-mm-yyyy时
做
printf“%04d-%02d-%02d\n”$yyyy$mm$dd
完成<文件名
设置IFS将分隔该字符周围的值