转换法国日期格式

时间:2015-01-15 08:50:11

标签: bash date

我正在尝试将法语格式的日期转换为:16/12/14 11:40

至:12/16/14 11:40

我试过这个

echo "16/12/14 11:40" |cut -d "/" -f2,1,3

但字段不会打印在正确的订单上。我也试过这个:

echo "16/12/14 11:40" | awk  'BEGIN {OFS="/"} {print substr($1,4,2), substr($1,1,2), substr($1,7,2)}'

但现在,时间不再明确。

然后尝试了这个:

回声“16/12/14 11:40”| awk'BEGIN {OFS =“/”} {print substr($ 1,4,2),substr($ 1,1,2),substr($ 1,7,2)} {OFS =“:”} {print substr( $ 2,1,5)}'

但现在日期和时间印在2个不同的行上:

14年12月16日

11:40

有没有人有这样做的好方法?

THX

1 个答案:

答案 0 :(得分:1)

echo "16/12/14 11:40" | sed -r 's/([0-9]+)\/([0-9]+)\//\2\/\1\//'

对此的简短解释。 -r告诉sed使用regexp。使用此sed存储([0-9]+)匹配内部使其可由代表替换部分中的第i个匹配的数字访问。在那里,我们现在可以使用\2\/\1\/切换数字,并在。之间放置斜杠。