shell中如何显示前后几天的方法

来源:互联网 发布:mac bluestack模拟器 编辑:程序博客网 时间:2024/06/03 18:43

 2011-07-07 13:59:56  www.hackbase.com  来源:互联网
  shell中的date命令十分强大,今天这里只介绍下如何显示最近几天的写法:
shell中的date命令十分强大,今天这里只介绍下如何显示最近几天的写法:


[root@localhost shell]# date  
Tue Jul  5 04:58:08 CST 2011
[root@localhost shell]# date    显示系统当前日期
Tue Jul  5 04:58:15 CST 2011
[root@localhost shell]# date 2011-07-06
date: invalid date `2011-07-06'
[root@localhost shell]# date -s 2011-07-06    修改当前日期
Wed Jul  6 00:00:00 CST 2011
[root@localhost shell]# date     显示修改后的日期
Wed Jul  6 00:00:02 CST 2011
[root@localhost shell]# date -d "+4 day"   显示4天后的日期
Sun Jul 10 00:00:27 CST 2011
[root@localhost shell]# date -d "+4 day" +%y%m%d   格式化显示
110710
[root@localhost shell]# date -d "+4 day" +%Y%m%d   格式化显示
20110710
[root@localhost shell]# date -d "-4 day" +%Y%m%d  4天前
20110702
[root@localhost shell]# date -d "yesterday" +%Y%m%d   显示昨天
20110705


[root@localhost shell]# date -d "tomorrow" +%Y%m%d   显示明天
20110707


[root@localhost shell]# date -d "2 days ago" +%Y%m%d   显示2天前
20110704


date -d "2010-10-18 02:05:45 3 days ago" +%Y-%m-%d" "%H:%M:%S

2010-10-15 02:05:45

date -d "2010-10-18 02:05:45 3 days" +%Y-%m-%d" "%H:%M:%S

2010-10-21 02:05:45

本篇文章来源于 黑基网-中国最大的网络安全站点 原文链接:http://www.hackbase.com/tech/2011-07-07/64419.html

 

 

 

 

 

example:

 

 #!/bin/sh
a="caoyonga"
join -t'|' -a1 -o 1.2,1.4,1.3,1.5,1.8,1.9,1.10,1.11,1.15,1.22,1.23,1.24,1.27,2.4,2.5,2.6 -j1 23 -j2 2 /mnp/SEND/1/20110719/*.submit /mnp/SEND/1/20110719/*.rsp > css/text.css
split -1 css/text.css css/
for sendType in 1 2 3 4 ;do
Dir='SEND/'${sendType}'/'
todayDir=$(date +%Y%m%d)
for tailNumberDir in 0 1 2 3 4 5 6 7 8 9 ;do
AllDir=${Dir}${todayDir}'/'${tailNumberDir}'/'
echo $AllDir
done
dir='SEND/'${sendType}'/'
done

 

 

#rm -f css/text.css
echo 'cagfafda'$a
echo 'finished'
for var in 1 2 3 ; do
echo 'var is' $var
done
D=$(date +%Y%m%d);
echo $D
yestoday=$(date -d yesterday +%Y%m%d)
echo $yestoday
yestoday=$( date -d "-30 day" +%Y%m%d)
echo $yestoday

 

 

 

 

 

 

 

 

 

 

 

 

下面是我写的第一个脚本:结果没有用到,唉,悲哀!!!

 

 

#!/bin/sh
#split -1 css/text.css css/
for sendType in 1 2 3 4 ;do
Dir='/mnp/SENDTEMP/'${sendType}'/'
todayDir=$(date +%Y%m%d)
ztDir=$( date -d "-1 day" +%Y%m%d)
qtDir=$( date -d "-2 day" +%Y%m%d)
for tailNumberDir in 0 1 2 3 4 5 6 7 8 9 ;do
AllDir=${Dir}${todayDir}'/'${tailNumberDir}'/'
AllztDir=${Dir}${ztDir}'/'${tailNumberDir}'/'
AllqtDir=${Dir}${qtDir}'/'${tailNumberDir}'/'
if [ ${sendType} = 1 ];then
join -t'|' -a1 -o 1.2,1.4,1.3,1.5,1.8,1.9,1.10,1.11,1.15,1.22,1.23,1.24,1.27,1.27,2.4,2.5,2.6,1.26 -j1 23 -j2 2 ${AllDir}*.submit ${AllDir}*.rsp > ${AllDir}submit_rsp.temp
join -t'|' -a1 -o 1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,1.10,1.11,1.12,1.13,1.14,1.15,1.16,1.17,1.17,2.2,2.5,2.6,2.7,1.18  -j1 17 -j2 3 ${AllDir}submit_rsp.temp ${AllDir}*.rpt >${AllDir}submit_rsp_rpt.temp
touch ${AllDir}blank.temp
echo '||' > ${AllDir}blank.temp
join -t'|' -a1 -o 1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,1.10,1.11,1.12,1.13,1.14,1.15,1.16,1.17,1.18,1.19,1.20,1.21,1.22,2.1,2.1,2.1,2.1,2.1,2.1,1.23  -j1 1 -j2 1 ${AllDir}submit_rsp_rpt.temp ${AllDir}blank.temp > ${AllDir}submit_rsp_rpt_readrpt.sumary

join -t'|' -a1 -o 1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,1.10,1.11,1.12,1.13,1.14,1.15,1.16,1.17,1.18,2.2,2.5,2.6,2.7,1.23,1.24,1.25,1.26,1.27,1.28,1.29  -j1 17 -j2 3  ${AllztDir}*.txt  ${AllDir}*.rpt > ${AllztDir}txt_rpt.history
join -t'|' -a1 -o 1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,1.10,1.11,1.12,1.13,1.14,1.15,1.16,1.17,1.18,2.2,2.5,2.6,2.7,1.23,1.24,1.25,1.26,1.27,1.28,1.29  -j1 17 -j2 3  ${AllqtDir}*.txt  ${AllDir}*.rpt > ${AllztDir}txt_rpt.history


echo '短信'
elif [ ${sendType} = 2 ];then
join -t'|' -a1 -o 1.2,1.4,1.3,1.5,1.8,1.9,1.10,1.11,1.15,1.22,1.23,1.24,1.27,1.27,2.4,2.5,2.6,1.26 -j1 23 -j2 2 ${AllDir}*.submit ${AllDir}*.rsp > ${AllDir}submit_rsp.temp
join -t'|' -a1 -o 1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,1.10,1.11,1.12,1.13,1.14,1.15,1.16,1.17,1.17,2.2,2.5,2.6,2.7,1.18  -j1 17 -j2 3 ${AllDir}submit_rsp.temp ${AllDir}*.rpt >${AllDir}submit_rsp_rpt.temp
join -t'|' -a1 -o 1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,1.10,1.11,1.12,1.13,1.14,1.15,1.16,1.17,1.18,1.19,1.20,1.21,1.22,1.22,2.5,2.6,2.2,2.7,2.7,1.23  -j1 17 -j2 3 ${AllDir}submit_rsp_rpt.temp ${AllDir}*.readrpt > ${AllDir}submit_rsp_rpt_readrpt.sumary

join -t'|' -a1 -o 1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,1.10,1.11,1.12,1.13,1.14,1.15,1.16,1.17,1.18,2.2,2.5,2.6,2.7,1.23,1.24,1.25,1.26,1.27,1.28,1.29  -j1 17 -j2 3  ${AllztDir}*.txt  ${AllDir}*.rpt > ${AllztDir}txt_rpt.history
join -t'|' -a1 -o 1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,1.10,1.11,1.12,1.13,1.14,1.15,1.16,1.17,1.18,2.2,2.5,2.6,2.7,1.23,1.24,1.25,1.26,1.27,1.28,1.29  -j1 17 -j2 3  ${AllqtDir}*.txt  ${AllDir}*.rpt > ${AllztDir}txt_rpt.history

join -t'|' -a1 -o 1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,1.10,1.11,1.12,1.13,1.14,1.15,1.16,1.17,1.18,1.19,1.20,1.21,1.22,1.23,2.5,2.6,2.3,2.7,1.28,1.29  -j1 17 -j2 3  ${AllztDir}*.txt  ${AllDir}*.readrpt > ${AllztDir}txt_rpt.history
join -t'|' -a1 -o 1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,1.10,1.11,1.12,1.13,1.14,1.15,1.16,1.17,1.18,1.19,1.20,1.21,1.22,1.23,2.5,2.6,2.3,2.7,1.28,1.29  -j1 17 -j2 3  ${AllqtDir}*.txt  ${AllDir}*.readrpt > ${AllqtDir}txt_rpt.history
echo '彩信'
else
join -t'|' -a1 -o 1.2,1.4,1.3,1.5,1.8,1.9,1.10,1.11,1.15,1.22,1.23,1.24,1.27,2.2,2.5,2.6,2.7,1.26 -j1 23 -j2 3 ${AllDir}*.submit ${AllDir}*.rpt > ${AllDir}submit_rpt.temp
touch ${AllDir}blank.temp
echo '||' > ${AllDir}blank.temp
join -t'|' -a1 -o 1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,1.10,1.11,1.12,1.13,2.1,2.1,2.1,2.1,2.1,1.19,1.20,1.21,1.22,2.1,2.1,2.1,2.1,2.1,2.1,1.29 -j1 1 -j2 1 ${AllDir}submit_rpt.temp ${AllDir}blank.temp > ${AllDir}submit_rpt.summary
echo '邮件'
fi
echo $AllDir
done
dir='SEND/'${sendType}'/'
done

 


a="caoyonga"
#rm -f css/text.css
echo 'cagfafda'$a
echo 'finished'
for var in 1 2 3 ; do
echo 'var is' $var
done
D=$(date +%Y%m%d);
echo $D
yestoday=$(date -d yesterday +%Y%m%d)
echo $yestoday
yestoday=$( date -d "-30 day" +%Y%m%d)
echo $yestoday