bash日期操作
應用背景:我們經常會需要根據當前日期來產生所需要的文件名,或者產生10天內的文件,而這個文件名就是與日期有關的。
 
看下面的例子:
[zcm@bash #48]$cat dateoper.sh #!/bin/bash today=`date +%Y%m%d` filename="pre_"$today"_tail.txt" echo $today echo $filename echon=5 if [ $# -eq 1 ]; thenlet n=$1 fi bak=$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-1 done echolet 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-1 done echo [zcm@bash #49]$看看運行結果: [zcm@bash #49]$./dateoper.sh 20111129 pre_20111129_tail.txt計算5天前的文件名: pre_20111124_tail.txt pre_20111125_tail.txt pre_20111126_tail.txt pre_20111127_tail.txt pre_20111128_tail.txt計算5天后的文件名: pre_20111204_tail.txt pre_20111203_tail.txt pre_20111202_tail.txt pre_20111201_tail.txt pre_20111130_tail.txt[zcm@bash #50]$./dateoper.sh 3 20111129 pre_20111129_tail.txt計算3天前的文件名: pre_20111126_tail.txt pre_20111127_tail.txt pre_20111128_tail.txt計算3天后的文件名: pre_20111202_tail.txt pre_20111201_tail.txt pre_20111130_tail.txt[zcm@bash #51]$
總結
 
                            
                        - 上一篇: 《嵌入式设备驱动开发精解》——导读
- 下一篇: vim匹配特定的行并删除它
