加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

shell整理(34)===date 命令的小脚本

发布时间:2020-12-15 16:13:01 所属栏目:安全 来源:网络整理
导读:(一)接受一个输入,判断是不是一个日期,用户的输入可以是2017-10-1 或 2017.10.1 或2017/10/1 shell代码如下 #!/bin/bashread-p"Input:"datea=`echo$date|awk-F'[./-]''{print$1"/"$2"/"$3}'`date-d$a/dev/nullif[$?-eq0];thenecho"ok"elseecho"no"fi (

(一)接受一个输入,判断是不是一个日期,用户的输入可以是2017-10-1 或 2017.10.1 或2017/10/1



shell代码如下

#!/bin/bash

read-p"Input:"date
a=`echo$date|awk-F'[./-]''{print$1"/"$2"/"$3}'`
date-d$a&>/dev/null
if[$?-eq0];then
echo"ok"
else
echo"no"
fi


(二)将日期写入一个文本,判断这个文本中的日期分别是这一年的哪一天。

例如


[root@localhost ding1]# cat file1

2017-10-1

2016-2-2

2017-1-1

[root@localhost ding1]#


shell代码如下

str(){
#a=`echo$line|tr'/.-''/'`
a=`echo$line|awk-F"[./-]"'{print$1"/"$2"/"$3}'`
date-d$a+%j

}
#set-x
catfile1|whilereadline
do
str
done
#set+x



简单的date 命令总结:

date -d <字符串> :显示自符串所指的日期与时间。字符串前后加上双引号,好像有的不加也可以,具体情况具体分析

例如:

[root@localhost ding1]# date -d 2017-1-1 +%j #加%j 表示该年中的第几天

001

[root@localhost ding1]# date -d +%j

date: 无效的日期"+%j"

[root@localhost ding1]#

也就是说date -d 后面必须指定一个字符串。

[root@localhost ding1]# date -d 2017-1-1 #显示字符串所指的时间与日期

2017年 01月 01日 星期日 00:00:00 CST

[root@localhost ding1]#

date +%F 显示当前的时间,(年-月-日),例如:

[root@localhost ding1]# date +%F

2017-10-05

[root@localhost ding1]#

+%F 就相当于+%y-%m-%d

例如:

[root@localhost ding1]# date +%y-%m-%d

17-10-05

[root@localhost ding1]# date +%y*%m*%d #中间的符号自己定义

17*10*05

[root@localhost ding1]#

例如我要显示下个月和下一年的今天

[root@localhost ding1]# date -d +1month +%y-%m-%d

17-11-05

[root@localhost ding1]# date -d +1year +%F

2018-10-05

[root@localhost ding1]#

date -s <字符串>:根据字符串来设置日期与时间,只有root权限才能设置,其他只能查看。字符串前后加上双引号

[root@localhost ding1]# date

2017年 10月 05日 星期四 10:21:52 CST

[root@localhost ding1]# date -s 2012-5-23 01:01:10

date: 参数"01:01:10" 缺少前导的"+";

当使用选项来描述日期是,任何非选项参数都必须以"+"所引导的字符串出现

请尝试执行"date --help"来获取更多信息。

[root@localhost ding1]# date -s "2012-5-23 01:01:10" #这个地方加上双引号

2012年 05月 23日 星期三 01:01:10 CST

[root@localhost ding1]# date

2012年 05月 23日 星期三 01:01:13 CST

[root@localhost ding1]#

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读