Shell 需要在Unix中将2013年3月13日星期三00:18:06转换为日期时间
我有两个变量,它们被赋值如下Shell 需要在Unix中将2013年3月13日星期三00:18:06转换为日期时间,shell,unix,unix-timestamp,Shell,Unix,Unix Timestamp,我有两个变量,它们被赋值如下 Start_time=Start time: [Wed Mar 13 00:18:06 2013] End_time=End time: [Wed Mar 13 00:18:12 2013] 现在我需要从结束时间中减去开始时间。因此,我需要首先删除其他字符串,并将日期转换为可以执行减法运算的格式 为了删除字符串,我使用了以下sed函数 echo "Start time: [Wed Mar 13 00:18:06 2013]" | sed -e 's|Start
Start_time=Start time: [Wed Mar 13 00:18:06 2013]
End_time=End time: [Wed Mar 13 00:18:12 2013]
现在我需要从结束时间中减去开始时间。因此,我需要首先删除其他字符串,并将日期转换为可以执行减法运算的格式
为了删除字符串,我使用了以下sed函数
echo "Start time: [Wed Mar 13 00:18:06 2013]" | sed -e 's|Start time:||'
[Wed Mar 13 00:18:06 2013]
如何在不使用其他sed函数的情况下删除括号
另外,有人能告诉我如何将其转换为日期格式,以便执行减法运算。sed语句可以是:
sed -e 's|Start time: \[||;s/\]//'
使用gnu date可以指定要使用的日期并将其转换为unix时间戳
(用您的变量替换硬编码的值):
然后以秒为单位计算差值:
bll@bll-desktop ~
$ d=$(($b - $a))
bll@bll-desktop ~
$ echo $d
6
bll@bll-desktop ~
$ d=$(($b - $a))
bll@bll-desktop ~
$ echo $d
6