日付を含む変数に対してコマンドを実行するには?

日付を含む変数に対してコマンドを実行するには?

「MM/DD/YY」形式の日付をインポートして、デフォルトの日付形式(2014年10月31日金曜日17:23:07 CDT)に戻すことができるはずです。これが私を狂わせます。以下のコードは無意味に見えるかもしれませんが、これは私がしなければならない宿題です。誰かが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

比較する必要がある日付を含むすべての延長日付のハッシュを作成し、2つのハッシュのみを比較できます。もしそうなら==、一致する人がいます。

if [ "$hash1" == "$hash2" ]
then
    echo "Dates are a match!"
else
    echo "Dates are NOT a match..."
fi

おすすめ記事