利用shell获取指定日期前N天的日期_linux shell

一、创建测试文件test.sh

#!/bin/sh
. /etc/profile

# 参数:
# args[0] ,数据日期,日期格式yyyy-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

二、无参运行

## 不带参数,从当前时间开始算
$ ./test.sh

2016-10-28
2016-09-29

三、传参运行

$ ./test.sh 2015-10-29
2015-10-29
2015-09-29

总结

以上就是利用shell获取指定日期前N天日期的全部内容,希望本文的内容对大家的学习或者工作能有所帮助,如果有疑问大家可以留言交流。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索shell
, 指定日期
, shell指定日期加减
指定日期前一天
shell 指定日期前一天、shell指定日期加减、shell 指定日期、shell 指定日期格式、linux shell 日期,以便于您获取更多的相关知识。

时间: 2024-10-14 12:56:14

利用shell获取指定日期前N天的日期_linux shell的相关文章

js获取指定字符前/后的字符串简单实例_javascript技巧

如下所示: <!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> </head> <script type="text/javascript"> /* string 字符串; str 指定字符; split(),用于把一个字符串分割成字符串数组; split(str)[0],读取

js获取指定字符前/后的字符串

例1 获取指定字符前/后的字符串  代码如下 复制代码 <script type="text/javascript"> /*   string 字符串;   str 指定字符;   split(),用于把一个字符串分割成字符串数组;   split(str)[0],读取数组中索引为0的值(第一个值),所有数组索引默认从0开始;  */ function getStr(string,str){     var str_before = string.split(str)[0]

Shell脚本实现C语言代码行数统计_linux shell

写了一个比较粗糙的C语言代码行数统计脚本,目前还有些bug,而且效率也不高.脚本主要就是去除大部分的注释后统计行数,相当于做了一部分预处理的工作.下面是代码: #!/bin/bash filename=$1 echo "`whoami`" if [ $# -lt 1 ];then echo "usage : ./scripts filename" exit -1 fi if [ ! -f $filename ];then echo "$filename i

Shell脚本逐行读取文本文件(不改变文本格式)_linux shell

网上有很多 shell script 读文本文件的例子,但是都没有讲出故事的全部,只说了一半.举个例子,比如从一个 testfile 文件中读取如下格式的文本行: 复制代码 代码如下: $ vi testfile ls      -a -l /bin |  sort ls      -a -l /bin |  sort | wc ls      -a -l |  grep sh | wc ls      -a -l ls      -a -l |       sort      |    wc

php利用正则获取指定位置内容

 代码如下 复制代码 $str = 'ht <td align=right> <a href=http://www.111cn.net/>第一页</a>  & nbsp; <a href=http://down.111cn.net/index_2.html>上一页</a> & nbsp;  <a href=http://mb.111cn.net/index_4.html>下一页</a> '; preg_ma

Shell中获取脚本所在目录绝对路径的方法_linux shell

要得到正在执行的程序/脚本自身所存放的绝对路径,在 PHP 里面可以用 dirname(realpath(__FILE__)) : C# 则有 System.Windows.Forms.Application.StartupPath : java 似乎没有什么比较直接的方法,只能利用 CodeSource 来间接获取 .而在 linux shell 脚本里面如果想得到当前脚本文件存放的绝对路径,也没有太现成的命令可以调用,不过可以通过下面的语句来获取: 复制代码 代码如下: baseDirFor

Shell脚本获取国内各大运营商网段脚本分享_linux shell

亚太地区网络信息记录在这里,每天都有更新. http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest 下面这个脚本将对这段文本进行编辑,输出国内几大运营商网段. 复制代码 代码如下: #!/bin/sh #auto get the IP Table #get the newest delegated-apnic-latest rm delegated-apnic-latest if type wget then wget http

一天一个shell命令 文本操作系列-linux dd使用教程_linux shell

今天第一天写,先说下写shell脚本的基本知识 1. shell脚本以.sh 为扩展名,通常运行 ./${filename}.sh 或者 sh ${filename}.sh 2. shell 脚本开头以 #!/bin/bash #!读作 "shebang" 3. 开启调试  #!/bin/bash –xv 4. /dev/null 任何东西丢进去都会消失,linux黑洞. /dev/zero 用于初始化,会产生0 今天先介绍 dd 命令 由来(全称):本来应根据其功能描述"C

Shell脚本定时备份清除运行系统日志的代码_linux shell

一.写备份并清除老日志Shell脚本: 复制代码 代码如下: #!/bin/sh#backup eoslog#author rhao#date 2008-12-27 #定义环境变量EOS_HOME=/home/eosSAS_HOME=/home/eos/SAS # 测试主辅结点if test -d '/home/eos/SAS/SAS1_web1'then        SAS_LOG_HOME=$SAS_HOME/SAS1_web1/SAS_Domain/binelse        SAS_