簡體   English   中英

日期比較格式

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM