我需要能够采用“MM/DD/YY”格式的日期并将其更改回默认日期格式(Fri Oct 31 17:23:07 CDT 2014)。这真让我抓狂。下面的代码可能看起来毫无意义,但这只是我必须做这件事的作业练习 - 有人以 MM/DD/YY 格式输入日期,然后我必须将该日期与文件中存储的日期进行比较以默认格式。
这就是我所在的地方:
#! /bin/bash
date=`date +%D`
newdate=`$date +%a%b%e%H:%M:%S%Z%Y`
echo $newdate
我收到“没有此类文件或目录”错误。首先;我该怎么做我想做的事?第二;有没有更简单的方法来使用默认日期格式而不是“+%a%b%e...blah blah...”?
谢谢你的帮助。
答案1
我不想为你做作业,但这可能会为你指明正确的方向:
#!/bin/sh
date=`date +%D`
echo "Date in MM/DD/YY:"
echo $date
newdate=`date -d $date +"%a %b %e %H:%M:%S %Z %Y"`
echo "Date Expanded:"
echo $newdate
hash="$(echo -n "$newdate" | md5sum | awk '{print $1}')"
echo "Hash of expanded date:"
echo $hash
您可以创建所有扩展日期的哈希值,包括需要将它们进行比较的日期,然后仅比较两个哈希值。如果是,==
那么你就有匹配的了。
if [ "$hash1" == "$hash2" ]
then
echo "Dates are a match!"
else
echo "Dates are NOT a match..."
fi