私はそれを2つのステップで行います。(それは1つで行うことができます):
1、日付文字列を取得する 2、比較を行う
例えば:
kent$ d=$(echo "aaaaaaaaaaaaaaaaaaaaddddd
sadasdafnsdfoisjhpfnsf
dasnfdfmsdf until: Thu Apr 29 19:41:02 EEST 2021 dasd
asdasmda[mfiun[hg[sm df,
dfmsdf[ismdfsdfsd,flsdfsdf******************"|grep -o '[A-Z].*[0-9]')
変数 d を確認します。
kent$ echo $d
Thu Apr 29 19:41:02 EEST 2021
この日付を今日と比較します。比較を行うには、両方の日付を秒に変換する必要があります。
kent$ echo $(($(date -d"${d}" +%s)-$(date +%s)))
251171977
上記のコマンドの結果を出力しました。あなたの場合、それを変数に割り当てることができます。または、結果を直接確認してください。>0 の場合は、テキスト内の将来の日付を意味します。それ以外の場合は、過去 (または今日と同じ) です。
編集
いくつかの数学:
int で:
kent$ echo $((251171977/(3600*24)))
2907
正確に:
kent$ echo "scale=2;251171977/(3600*24)"|bc
2907.08
より正確に:
kent$ echo "scale=7;251171977/(3600*24)"|bc
2907.0830671