[日期工具分享][Shell]为特定命令依次传入顺序日期执行
使用方式:
<本脚本文件名(必要时需要全路径)> <要执行的命令所在的文件名> <开始日期> <结束日期>
- 日期格式:
yyyy-MM-dd
脚本内容:
#################################
#! /bin/bash
#################################
# how to use:
# thisFile yourCommdFile startDate endsDate
# the format of date should be yyyy-MM-dd
################################# # Time to Long
bgnTimeL=`date -d "$2" +%s`
endTimeL=`date -d "$3" +%s`
ONE_DAY_TML=86400 # Load the Time
for (( i = $bgnTimeL; i < $endTimeL; i=`expr $i + $ONE_DAY_TML` )); do
$1 `date -d @$i "+%Y-%m-%d"`
done
简单演示:
# usr @ XXxxx in ~ [17:58:05]
$ cat ~/bin/with-date-to-date-run.sh
#################################
#! /bin/bash # Time to Long
bgnTimeL=`date -d "$2" +%s`
endTimeL=`date -d "$3" +%s`
ONE_DAY_TML=86400 # Load the Time
for (( i = $bgnTimeL; i < $endTimeL; i=`expr $i + $ONE_DAY_TML` )); do
$1 `date -d @$i "+%Y-%m-%d"`
done # usr @ XXxxx in ~ [18:04:40]
$ chmod +x ~/bin/with-date-to-date-run.sh # usr @ XXxxx in ~ [18:04:45]
$ ~/bin/with-date-to-date-run.sh echo 2009-12-29 2010-01-03
2009-12-29
2009-12-30
2009-12-31
2010-01-01
2010-01-02 # usr @ XXxxx in ~ [18:04:48]
$
注意:
本脚本第一个参数是要执行的命令,该命令的文件名中最好不要有空格。