利用shell獲取指定日期前N天的日期
更新時(shí)間:2016年11月06日 11:51:24 作者:張家公子
最近因?yàn)轫?xiàng)目的需要對比2015年10月的數(shù)據(jù),因?yàn)橐荒陙淼臄?shù)據(jù)經(jīng)過了很多次調(diào)整和處理,遇到的最直接的問題是很多數(shù)據(jù)需要重新計(jì)算。只好寫腳本刷數(shù)據(jù)。在準(zhǔn)備腳本的過程中,就需要根據(jù)給定的日期處理數(shù)據(jù),所以就有了這篇文章,下面有需要的朋友們一起學(xué)習(xí)學(xué)習(xí)。
一、創(chuàng)建測試文件test.sh
#!/bin/sh . /etc/profile # 參數(shù): # args[0] ,數(shù)據(jù)日期,日期格式y(tǒng)yyy-MM-dd # 取30天以前的日期 function get_date_30daysbefore() { sec=`date -d $1 +%s` sec_30daysbefore=$((sec - 86400*30)) days_before=`date -d @$sec_30daysbefore +%F` echo $days_before } if [ $# == 1 ]; then today=$1 dates_30=`get_date_30daysbefore $1` else today=`date -d -1days '+%Y-%m-%d'` dates_30=`date -d -30days '+%Y-%m-%d'` fi echo $today echo $dates_30
二、無參運(yùn)行
## 不帶參數(shù),從當(dāng)前時(shí)間開始算 $ ./test.sh 2016-10-28 2016-09-29
三、傳參運(yùn)行
$ ./test.sh 2015-10-29 2015-10-29 2015-09-29
總結(jié)
以上就是利用shell獲取指定日期前N天日期的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能有所幫助,如果有疑問大家可以留言交流。
相關(guān)文章
centos 設(shè)置定時(shí)任務(wù)執(zhí)行指定腳本的方法
下面小編就為大家?guī)硪黄猚entos 設(shè)置定時(shí)任務(wù)執(zhí)行指定腳本的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-02-02linux實(shí)現(xiàn)解壓.tar.gz文件的示例詳解
這篇文章主要為大家詳細(xì)介紹了linux實(shí)現(xiàn)解壓.tar.gz文件的相關(guān)知識,文中的示例代碼簡潔易懂,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-08-08Linux中SELinux、Shell簡介、touch命令的應(yīng)用小結(jié)
SELinux(Security-Enhanced Linux)是美國國家安全局(NSA)對于強(qiáng)制訪問控制的實(shí)現(xiàn),是Linux歷史上最杰出的新安全子系統(tǒng),這篇文章主要介紹了Linux中SELinux、Shell簡介、touch命令的應(yīng)用知識總結(jié),需要的朋友可以參考下2023-02-02Linux 使用grep篩選多個(gè)條件及grep常用過濾命令
這篇文章主要介紹了Linux 使用grep篩選多個(gè)條件及grep常用過濾命令,需要的朋友可以參考下2018-07-07