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

发布时间:2025-04-16 20:04

Linux操作系统:理解命令行,学会使用Shell脚本 #生活技巧# #工作学习技巧# #编程语言学习路径#

原创

©著作权归作者所有:来自51CTO博客作者大雪儿的原创作品,请联系作者获取转载授权,否则将追究法律责任

(一)接受一个输入,判断是不是一个日期,用户的输入可以是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 [ $? -eq 0 ];then echo "ok" else echo "no" fi1.2.3.4.5.6.7.8.9.10.

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

例如

[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 cat file1 | while read line do str done #set +x1.2.3.4.5.6.7.8.9.10.11.12.

简单的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]# 

收藏 评论 举报

网址:shell整理(34)===date 命令的小脚本 https://www.yuejiaxmz.com/news/view/870601

相关内容

linux shell 脚本
shell 脚本学习之一
shell脚本中的$# $0 $@ $* $$ $! $?的意义
100个日常实用脚本
shell整理(35)====模拟用户登录的打印菜单脚本
ubuntu退出shell终端命令
打造高效的工作环境 – SHELL 篇
用shell+crontab定时清理日志
shell整理(28)===找规律写shell
高效管理阅读记录,我用 Obsidian 插件和快捷指令做好这件「小事」

随便看看