我正在编写一个代码,以便在日志文件中存在两次数据。我的输入将是
./filename Apr 10 16 02:07:20 Jul 11 16 11:07:30
我将"Apr 10 16 02:07:20"
存储在$StartTime
变量中,"Jul 11 16 11:07:30"
存储在$EndTime
变量中,如下所示,
StartTime="$1 $2 $3 $4"
EndTime="$5 $6 $7 $8"
如果我的输入是./filename Jul 11 16 11:07:30 Apr 10 16 02:07:20
,那么它应该显示一个错误,说StartTime不能大于EndTime。
我使用以下逻辑,
if [[ "$StartTime" > "$EndTime" ]]
then
{
echo "Error: StartTime cannot be greater than EndTime"
exit
}
fi
但按字母顺序排列需要数月,4月,8月,12月......考虑到8月比5月更大。如何用数字对月份进行排序?请帮助。
答案 0 :(得分:1)
date
:
$ StartTime=$(date --date="$1 $2 $4 $3" +%s)
$ echo $StartTime
1460243240
$ EndTime=$(date --date="$5 $6 $8 $7" +%s)
$ echo $EndTime
1468224450
$ your_script_above.sh
$ echo $?
0
男人约会: - - 自1970-01-01 00:00:00 UTC以来的%s秒