リスト内の日付を比較する

リスト内の日付を比較する

日付のリストがあり、14 日以上経過した日付の数を継続的にカウントするスクリプトを開発する必要があります ( date --date="14 days ago" +%Y%m%d)。ファイルを通じて日付をチェックする方法がよくわかりません。私が見つけたほとんどの調査では、タイムスタンプを取得する方法が示されていますが、これは私が達成しようとしていることではありません。

20160517
20160518
20160519
20160520
20160521
20160522
20160523
20160524
20160525
20160526
20160527
20160528
20160529
20160530
20160531
20160601
20160602
20160603
20160604
20160605
20160612
20160612
20160615
20160615
20160615
20160615
20160615
20160615

答え1

dates日付のリスト (1 行に 1 つずつ) を含む というファイルがあると仮定すると、次のようにすると 14 日以上前の日付をカウントできる可能性があります。

$ date=$(date --date="14 days ago" +%Y%m%d)
$ awk '($0 < "'$date'") {count += 1} END {print count}'  < dates
20

(フォーマットが同じであればyyyymmdd比較は簡単です。)

関連情報