shell脚本截取日期处理

[Author]: kwu

在linux中日期格式化固定为8位:2015-01-01

如实现 2015-1-1 需要进行字符串处理

#!/bin/sh
# upload logs to hdfs

yesterday2="2015-01-08"

echo ${yesterday2}

first=${yesterday2:5:1}
second=${yesterday2:8:1}

echo ${first}
echo ${second}

res=$yesterday2
echo ${res}

if [ $first -eq 0 ] && [ $second -eq 0 ]
then
    res=${yesterday2:0:5}${yesterday2:6}
    res=${res:0:7}${res:8}
elif [ $first -eq 0 ]
then
    res=${yesterday2:0:5}${yesterday2:6}
elif [ $second -eq 0 ]
then
    res=${yesterday2:0:8}${yesterday2:9}
fi

echo ${res}

如上命令最终输出为

2015-1-8

时间: 2024-08-02 18:43:53

shell脚本截取日期处理的相关文章

通过shell脚本获取日期,并赋给变量

通过shell获取当前8位日期,并赋给变量,并且使用变量作为文件名,建立文件夹 代码如下: ls_date=`date +%Y%m%d` mkdir ${ls_date} 上面两句代码虽然简单 但是在应用中比较实用 获取日期注意事项:date +%Y%m%d 这个字符串是被英文状态下的ESC下面那个键 获取变量注意事项:必须有$与{变量名}组成

Debian下自动备份文件并上传到远程FTP服务器且删除指定日期前的备份Shell脚本

说明:  1.备份目录/home/osyunwei下面所有的文件到/home/osyunweibak里面,并且保存为osyunwei20120701.tar.gz的压缩文件格式(2012_07_01是指备份执行时当天的日期),最后只保留最近7天的备份 2.上传/home/osyunweibak里面的备份文件到远程FTP服务器上,并且只保留最近7天的备份. 3.FTP服务器:192.168.21.139 端口:21 账号:osyunwei 密码:123456 osyunweibak为备份文件存放目

shell脚本之——字符串截取

在C/C++中,如果想要对一个字符串进行截取,可以通过操作下标或者指针来完成,而在shell脚本中,如果想要对一个字符串进行指定的截取,有多种方法可以来完成: 如下举例均用:STR="hi/i/am/just/a/string" ${STR#*char} 表示从左开始删除第一个char左边的所有字符,截取右边的字符串 #!/bin/bash STR=hi/i/am/just/a/string echo ${STR} CUT=${STR#*/} echo ${CUT} 其实*可以看做是通

shell脚本中获取日期

数字时间转标准时间: 数字时间如:20151009163000 标准时间:2015-10-19 16:30:00 a=`head -1 /home/xxx/xxx/bin/.status |awk -F= '{print $2}'|sed -r 's/([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})/\1-\2-\3 \4:\5:\6/'` 把标准时间转换成秒(据1970-1-1): date -d "$a" +%

shell脚本:字符串的截取

在shell脚本中我们所有变量的存储形式都是字符串.所以对于字符串的截取来说就变得十分重要了. 而在shell脚本中,如果想要对一个字符串进行指定的截取,有多种方法可以来完成:如下举例均用:STR="hello world my dear sister" ${STR#*char} 表示从左开始删除第一个char左边的所有字符,截取右边的字符串 #!/bin/bash STR="hello world my dear sister" echo ${STR} CUT=$

利用shell脚本或者php移动某个文件夹下的文件到各自的日期组成的目录下

背景是这样的:网站一开始访问量比较小,大家就把所有的图片文件上传到一个目录下(比如是/data/images/).后来访问量大了,图片也多了,这样就影响读取效率.所以有个这样的需求,把这些个图片文件移动到多个目录下,这个目录是图片的上传日期(就是文件属性中的修改日期filemtime)组成的.比如2012-12-20的修改日期,那么现在就该放在/data/images/2012/12/20的目录下. php有很容易的操作文件的函数,可以方便完成.当然也可以利用shell脚本完成. 用shell的

Shell脚本执行hive语句 | hive以日期建立分区表 | linux schedule程序

#!/bin/bash source /etc/profile; ################################################## # Author: ouyangyewei # # # # Content: Combineorder Algorithm # ################################################## # change workspace to here cd / cd /home/deploy/rec

shell脚本事例--获取当前日期的前一天日期

记录一个shell脚本事例,事例中包括shell的一些语法(函数定义.表达式运算.if.case...) #!/bin/sh #获取当前时间 RUN_TIME=`date +%H%M%S` #取当前日期前一天 get_ydate() {         #设置当前年月日         TODAY=`date +%Y%m%d`         month=`date +%m`         day=`date +%d`         year=`date +%Y`         #字符转换

Shell脚本基础介绍

shell基础简介: 编写脚本通常使用某种基于解释器的编程语言.而shell脚本不过就是一些文件,我们能将一系列需要执行的命令写入其中,然后通过shell来执行这些脚本. 进入Linux系统(Ubuntu),打开终端Terminal,"$"表示普通用户,"#"表示超级用户.其实此时打开的即为shell终端.注意:Redhat/CentOS系统默认安装的shell是bash,它是sh的增强版,Ubuntu默认安装的shell是dash.通过执行:$ ll  /bin/