[英]Date Comparison in a format
我想將以下格式的shell腳本文件中的日期與當前日期進行比較,並返回一些標志。
Sep 15 2017 11:04AM
Sep 16 2017 10:07AM
Sep 19 2017 11:44AM
Sep 20 2017 10:08AM
Sep 21 2017 10:03AM
可以在此處使用Awk腳本。
假設包含日期的文件如下所示:
$ cat file1
Sep 15 2017 11:04AM
Sep 16 2017 10:07AM
Sep 19 2017 11:44AM
Sep 20 2017 10:08AM
Sep 21 2017 10:03AM
Oct 02 2017 10:03AM
Oct 05 2017 10:03AM
Oct 07 2017 10:03AM
將其用於GNU日期
cat file1 | xargs -I@ bash -c " \
seven_days_ago=$(date --date='7 days ago' +%s); \
input=\$(date --date=\"@\" +%s); \
if [ \"\$seven_days_ago\" -gt \"\$input\" ]; then \
echo \"@\"; \
fi;"
這是BSD日期
cat file1 | xargs -I@ bash -c " \
seven_days_ago=$(date -v-7d +%s); \
input=\$(date -j -f \"%b %d %Y %R%p\" \"@\" +%s); \
if [ \"\$seven_days_ago\" -gt \"\$input\" ]; then \
echo \"@\"; \
fi;"
輸出如下。 該日期將日期設置為10月5日和07日,而該日期距離7天還近。
Sep 15 2017 11:04AM
Sep 16 2017 10:07AM
Sep 19 2017 11:44AM
Sep 20 2017 10:08AM
Sep 21 2017 10:03AM
Oct 02 2017 10:03AM
您如何區分GNU日期和BSD日期?
要檢查執行:
$ man date | tail -n 1
GNU coreutils 8.22
與
$ man date | tail -n 1
BSD August 16, 2007 BSD
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.