歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> SHELL編程 >> Shell打印日期列表

Shell打印日期列表

日期:2017/3/1 10:39:17   编辑:SHELL編程

我今天遇到這樣一個問題,需要獲取兩個日期之間的日期列表。網上搜索了一下,得到了兩個Shell小腳本:

腳本一:
  1. #!/bin/bash
  2. #
  3. startdate="$1"
  4. date1=$(date -d "$1" "+%s")
  5. date2=$(date -d "$2" "+%s")
  6. date_count=$(echo "$date2 - $date1"|bc)
  7. day_m=$(echo "$date_count"/86400|bc)
  8. for ((sdate=0;sdate<"$day_m";sdate++))
  9. do
  10. echo $(date -d "$startdate $sdate days" "+%F")
  11. done
我們傳遞兩個日期參數,例如20111220,20121013,腳本會打印這兩個日期之間的日期列表。
上述腳本來自http://blog.datatalk.cn/blog/2011/12/27/shell-%E6%97%A5%E6%9C%9F%E5%88%97%E8%A1%A8/,作者賈忠意。
腳本二:
  1. #!/bin/bash
  2. #
  3. count=365
  4. while [[ $count -ge 0 ]]
  5. do
  6. date +"%Y%m%d" -d"$count day ago"
  7. count=$(($count-1))
  8. done
這個腳本打印一年前直到今天的日期列表。
Copyright © Linux教程網 All Rights Reserved