[日期工具分享][Shell]为特定命令依次传入顺序日期执行

[日期工具分享][Shell]为特定命令依次传入顺序日期执行

使用方式:

  • <本脚本文件名(必要时需要全路径)> <要执行的命令所在的文件名> <开始日期> <结束日期>
  • 日期格式:yyyy-MM-dd

脚本内容:

 1 #################################
 2 #! /bin/bash
 3 #################################
 4 # how to use:
 5 # thisFile yourCommdFile startDate endsDate
 6 # the format of date should be yyyy-MM-dd
 7 #################################
 8 
 9 # Time to Long
10 bgnTimeL=`date -d "$2" +%s`
11 endTimeL=`date -d "$3" +%s`
12 ONE_DAY_TML=86400
13 
14 # Load the Time
15 for (( i = $bgnTimeL; i < $endTimeL; i=`expr $i + $ONE_DAY_TML` )); do
16     $1 `date -d @$i  "+%Y-%m-%d"`
17 done
 

简单演示:

 1 # usr @ XXxxx in ~ [17:58:05] 
 2 $ cat ~/bin/with-date-to-date-run.sh
 3 #################################
 4 #! /bin/bash
 5 
 6 # Time to Long
 7 bgnTimeL=`date -d "$2" +%s`
 8 endTimeL=`date -d "$3" +%s`
 9 ONE_DAY_TML=86400
10 
11 # Load the Time
12 for (( i = $bgnTimeL; i < $endTimeL; i=`expr $i + $ONE_DAY_TML`  )); do
13     $1 `date -d @$i  "+%Y-%m-%d"`
14 done
15 
16 # usr @ XXxxx in ~ [18:04:40] 
17 $ chmod +x ~/bin/with-date-to-date-run.sh                  
18 
19 # usr @ XXxxx in ~ [18:04:45] 
20 $ ~/bin/with-date-to-date-run.sh echo 2009-12-29 2010-01-03
21 2009-12-29
22 2009-12-30
23 2009-12-31
24 2010-01-01
25 2010-01-02
26 
27 # usr @ XXxxx in ~ [18:04:48] 
28 $ 
 

注意:

本脚本第一个参数是要执行的命令,该命令的文件名中最好不要有空格。

猜你喜欢

转载自www.cnblogs.com/senwren/p/date-run-day.html