将分钟添加到包含日期的字符串变量

时间:2018-02-20 22:51:13

标签: bash date time

我的日志文件中的字符串包含的日期看起来像12-02-2018 05:19%d-%m-%Y %H:%M格式)。

我需要将分钟值增加1。

例如:

$ end包含12-02-2018 05:21

add=$(date +"%d-%m-%Y %H:%M" --date="$end") 
echo $add  
date: invalid date `12-02-2018 05:21`

如何添加分钟?

1 个答案:

答案 0 :(得分:0)

您必须以另一种方式格式化日期本身,以便date命令可以解析它。这可以通过sed完成。然后你可以按自己喜欢的方式输出:

#!/bin/bash
v="12-02-2018 05:19"
dt=$(echo $v | sed -re 's#(..)-(..)-(....) (..:..)()#\3-\2-\1 \4:00#')
date -d "$dt +1 min" +"%d-%m-%Y %H:%M"