linux shell 编程 获得 时间 脚本

1. date 到 timestamp:
-------------

{aviar@monitor01:~/monitor}
$ date -d '2009-12-01 23:20' +%s    
1259680800


2. timestamp 到 date
-------------

{aviar@monitor01:~/monitor}
$ date -d '1970-01-01 1259680800 sec utc'          
Tue Dec  1 23:20:00 CST 2009

 

 

时间的格式怎么写 可以看 man date

 

 

在inux的shell下获取时间戳一般用两种方法,一是直接调用系统变量;二是用纯shell脚本获取,举例如下

一,直接调用系统变量

获取今天时期:date +%Y%m%d`

获取昨天时期:`date -d yesterday +%Y%m%d`

获取前天日期:`date -d -2day +%Y%m%d`

依次类推比如获取10天前的日期:`date -d -10day +%Y%m%d`

注意以上中间有空格

二,自己用shell实现,如下例子是已知今天日期,推算出昨天的日期的shell

startdate=`date`
d1=`date '+%Y%m%d'`
if test ! "$1" = ""
then
d1=$1
fi
echo "TODAY IS ${d1}"
yesterday()
{
YEAR=`expr substr "${d1}" 1 4`
MONTH=`expr substr "${d1}" 5 2`
DAY=`expr substr "${d1}" 7 2`
if [ $DAY -eq 1 ]
then
if [ $MONTH -eq 1 ]
then
YEAR=`expr $YEAR - 1`
MONTH=12
else
MONTH=`expr $MONTH - 1`
fi
DAY=`echo \`cal $MONTH $YEAR\`|tail -n1|awk '{print $NF}'`
else
DAY=`expr $DAY - 1`
fi
d2=`echo "$YEAR $MONTH $DAY"|awk '{if (length($2)==1) $2=0$2;if (length($3)==1) $3=0$3;printf "%s%s%s",$1,$2,$3}'`
}
yesterday
echo "yesterday IS ${d2}"

 

 

 

========================================================

判断有没有参数,没有就提示, 有就执行

#/bin/bash

if test ! "$1" = "" ; then
dbname=$1
echo "database ${dbname}  "
date

mysql -uroot -p1234 ${dbname}</base.sql
echo 'import base.sql done'
date

else
echo 'no dbname'

fi

  =================================================================

通过 /tmp 递归地搜索以找到含有字 IBM 的文件,而不是通过指向目录的链接进行递归搜索,请输入:
grep –R IBM /tmp

grep –r -H IBM /tmp
要通过 /tmp 递归地搜索以找到含有词 IBM 的文件,同时也通过链接进行递归搜索,请输入:
grep –r IBM /tmp

grep -R -L IBM /tmp
文件
/usr/bin/grep 包含 grep 命令。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值