
以下のコマンドを使用して、過去10分間のログデータを表示しています。月が同じままの場合はうまく機能しますが、月が変わるとデータは表示されません。
awk -v d1="$D1" -v d2="$D2" '$0 > d1 && $0 < d2 || $0 ~ d2' /home/user.log
よかったら、
D1="Aug 1 12:00:00"
D2="Aug 1 12:10:00"
次の場合、データは表示されません。
D1="Jul 31 11:55:00"
D2="Aug 1 00:05:00"
PS私はAIXを使用しています
答え1
私はこれが実際に日付ではなく文字列を比較するためだと思います。月が変わると、比較は中止されます。
epochまたは数値日付形式を使用して、別の方法で日付形式を指定してみてください。
date -d "Jul 31 11:55:00" +%s
1533063300を出力します。同じ、
date -d "Aug 1 00:05:00" +%s
1533107100を出力します。
そこで比較しやすいはずです。