Unix 使用awk转换日期
我有一个dates.csv文件,其中包含以下数据:Unix 使用awk转换日期,unix,Unix,我有一个dates.csv文件,其中包含以下数据: Mar 27 2014~Aug 24 2014~Apr 06 2014~ 我一直在尝试将其转换为时间戳,但每次尝试都没有成功 我尝试了以下代码:- #!/bin/bash i=0 j=`head -1 dates2| tr '~' '\n' | wc -l` echo $i echo $j while [ $i -lt $j ] do k=`awk 'BEGIN{FS="~"}{print $(i+1)}' dates2`
Mar 27 2014~Aug 24 2014~Apr 06 2014~
我一直在尝试将其转换为时间戳,但每次尝试都没有成功
我尝试了以下代码:-
#!/bin/bash
i=0
j=`head -1 dates2| tr '~' '\n' | wc -l`
echo $i
echo $j
while [ $i -lt $j ]
do
k=`awk 'BEGIN{FS="~"}{print $(i+1)}' dates2`
echo $k
date +"%m/%d/%Y %H:%M:%S" -d "$k"
(( i++ ))
done
awk命令总是为print$1执行,我试图对所有由FS=“~”
分隔的列进行迭代
我期望的输出是:
03/24/2014 00:00:00~08/24/2014 00:00:00~04/06/2014 00:00:00~
我尝试在时使用
,但效果良好:
#!/bin/bash
while read data
do
fDate=`date +"%m/%d/%Y %H:%M:%S" -d "$data"`
echo "new Date: $fDate"
done < dates2
#/bin/bash
读取数据时
做
fDate=`date+%m/%d/%Y%H:%m:%S“-d”$data`
echo“新日期:$fDate”
完成日期<日期2
首先,将日期读入数组:
$ IFS='~' read -ra dates < file
现在,$converted
包含以下字符串:
$ echo "$converted"
03/27/2014 00:00:00~08/24/2014 00:00:00~04/06/2014 00:00:00~
$ echo "$converted"
03/27/2014 00:00:00~08/24/2014 00:00:00~04/06/2014 00:00:00~