shell 编程中如何判断输入参数是否为日期格式(yyyymmdd)

legnd legnd 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
在网上找到一个类似的例子:
#!/bin/csh
(($#!=1))&&{ echo "Usage: year-month-day";exit 1; }
if echo $1|grep -q '\<[0-9]\{4\}[0-9]\{1,2\}[0-9]\{1,2\}\>';then
year=$(echo $1|cut -f1 -d'-')
month=$(echo $1|cut -f2 -d'-')
day=$(echo $1|cut -f3 -d'-')
echo $(cal $month $year)|grep -q "$day"
case $? in
0) echo $1;;
*) echo Error!;;
esac
else
echo "Enter Error!";exit 1
fi

该例子判断的是yyyy-mm-dd格式的,
但我想判断的是yyyymmdd格式(中间不要“-”),请问该如何写呢?
...全文

相关推荐

评论 6
收藏 已收藏
分享
返回顶部
legnd
Linux/Unix社区 23,224 成员 74,535 内容