我正在尝试在2个变量中保存2个日期,但它们具有特定格式(因为文件是这样的名称)。
他们被命名为以下
2014-10-27_08.01.01
2014-10-27_18.00.01
所以我把它放在我的剧本中
startdate=$(date -d -u +"2014-10-27_08.01.01")
enddate=$(date -d -u +"2014-10-27_18.00.01")
但每当我运行sh脚本时,我都会收到无效的日期错误。 我知道它可能无法读取但我无法弄清楚如何解决它。
答案 0 :(得分:0)
<ul class="test">
<img title="test" alt="test" src="http://test.jpg" width="50" height="50">
<img title="test" alt="test" src="test" width="50" height="50">
</ul>
无法理解字符串中的下划线date
和点_
。您需要将其转换为有效的东西,例如
.
这将导致:
startdate=$(echo "2014-10-27_08.01.01"|sed -e 's/_/ /g' -e 's/\./:/g')
enddate=$(echo "2014-10-27_18.00.01"|sed -e 's/_/ /g' -e 's/\./:/g')
这是一个脚本,它使用函数重新格式化文件名中的字符串
~]# date -u -d "$startdate"
Mon Oct 27 08:01:01 UTC 2014
结果:
#!/bin/bash
inputDateFmt()
{
sed -e 's/_/ /g' -e 's/\./:/g' <<< "$1"
}
startdate=$(date -u -d "$(inputDateFmt "2014-10-27_08.01.01")")
enddate=$(date -u -d "$(inputDateFmt "2014-10-27_18.00.01")")
echo $startdate
echo $enddate