bash日期操作

来源:互联网 发布:矩阵的秩的物理意义 编辑:程序博客网 时间:2024/06/11 01:30

应用背景:我们经常会需要根据当前日期来产生所需要的文件名,或者产生10天内的文件,而这个文件名就是与日期有关的。


看下面的例子:

[zcm@bash #48]$cat dateoper.sh #!/bin/bashtoday=`date +%Y%m%d`filename="pre_"$today"_tail.txt"echo $todayecho $filenameechon=5if [ $# -eq 1 ]; thenlet n=$1fibak=$n#备份n的值echo "计算$n天前的文件名:"while [ $n -gt 0 ]do#temp=`date --date="$n day ago" +%Y%m%d`temp=`date --date="$n days ago" +%Y%m%d`filename="pre_"$temp"_tail.txt"echo $filenamelet n=n-1doneecholet n=bak#恢复到n的原始值echo "计算$n天后的文件名:"while [ $n -gt 0 ]dotemp=`date --date="$n day" +%Y%m%d`#temp=`date --date="$n days" +%Y%m%d`filename="pre_"$temp"_tail.txt"echo $filenamelet n=n-1doneecho[zcm@bash #49]$


看看运行结果:

[zcm@bash #49]$./dateoper.sh 20111129pre_20111129_tail.txt计算5天前的文件名:pre_20111124_tail.txtpre_20111125_tail.txtpre_20111126_tail.txtpre_20111127_tail.txtpre_20111128_tail.txt计算5天后的文件名:pre_20111204_tail.txtpre_20111203_tail.txtpre_20111202_tail.txtpre_20111201_tail.txtpre_20111130_tail.txt[zcm@bash #50]$./dateoper.sh 320111129pre_20111129_tail.txt计算3天前的文件名:pre_20111126_tail.txtpre_20111127_tail.txtpre_20111128_tail.txt计算3天后的文件名:pre_20111202_tail.txtpre_20111201_tail.txtpre_20111130_tail.txt[zcm@bash #51]$


原创粉丝点击