shell中正则表达式详解_Shell if中的正则表达式使用详解
由于工作需要对用户提交的数据进行验证,这是一个简单的日期正则验证实例,有需要了解的同学可参考。
shell中的if语句需要做一个正则判断,查了一下语法记录之。
DATEPATTERN="^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}$"
if [[ "$STARTDATE" =~ $DATEPATTERN ]] && [[ $ENDDATE =~ $DATEPATTERN ]]; then :
else
echo "date format is invalid!"
exit;
fi
常用的正则表达式
if [[ "$file" =~ 'start' ]]
或if [[ "$file" =~ "start" ]]
例子:
#!/usr/bin/ksh
file="10start11.s"
if [[ "$file" =~ "start" ]]
then
echo "success"
else
echo "failed"
fi
只有bash才支持[[
ksh在test中应该不支持正则,用awk grep sed等工具实现吧
flag=`echo $file |awk '/start/'`
if [ "$flag" = "" ];then
echo "success"
else
echo "failed"
fi
Bourne Shell 的 if 语句和大部分编程语言一样 - 检测条件是否真实,如果条件为真,shell 会执行这个 if 语句指定的代码块,如果条件为假,shell 就会跳过 if 代码块,继续执行之后的代码。
if 语句的语法:
if[判断条件]
then
command1
command2
……..
last_command
fi
本文标题: Shell if中的正则表达式使用详解
本文地址: http://www.cppcns.com/wangluo/re/143554.html
shell中正则表达式详解_Shell if中的正则表达式使用详解相关推荐
- shell脚本中数组的使用_Shell脚本中的数组
shell脚本中数组的使用 Knowing how to work with arrays in shell scripts will help you work with larger datase ...
- python中until的用法_Shell脚本中循环语句for,while,until用法
循环语句: Bash Shell中主要提供了三种循环方式:for.while和until. 一.for循环 for循环的运作方式,是讲串行的元素意义取出,依序放入指定的变量中,然后重复执行含括的命令区 ...
- python中的美元符号_Shell脚本中的特殊字符(美元符、反斜杠、引号等)作用介绍...
Shell中的特殊字符有 1.$ 美元符 2.\ 反斜杠 3.` 反引号 4." 双引号 5.< ,>;,*,?,[,] 下面我一一举列说明 一.$符号 1.echo $? 显示 ...
- linux命令 正则表达式,详解Linux命令中的正则表达式
详解Linux命令中的正则表达式 Mark Do 2017年9月19日 暂无评论 阅读 981 次 命令中的正则表达式 如果要在命令输出或文本中筛选内容时使用模糊查找,就需要使用正则表达式.正则表达式 ...
- 【详解】MySQL中使用正则表达式
[详解]MySQL中使用正则表达式 前言 使用介绍 1.基础匹配 2.二选一(OR)匹配 3.特定一组字符的匹配 4.范围匹配 5.特殊字符匹配 6.字符类匹配 7.多个实例结果匹配 8.使用定位符匹 ...
- es6字符串添加html标签,JavaScript_详解JavaScript ES6中的模板字符串,在 ES6 中引入了一种新的字符 - phpStudy...
详解JavaScript ES6中的模板字符串 在 ES6 中引入了一种新的字符串字面量 - 模板字符串,除了使用反引号 (`) 表示,它们看上去和普通的字符串没有什么区别.在最简单的情况下,他们就是 ...
- js模板字符串自定义类名_详解JavaScript ES6中的模板字符串
这篇文章主要介绍了详解JavaScript ES6中的模板字符串,JS的ES6版本带来诸多简洁化方面的重大改进,需要的朋友可以参考下 在 ES6 中引入了一种新的字符串字面量 - 模板字符串,除了使用 ...
- linux管道命令详解,Linux系统中的管道命令的用法详解
Linux系统中管道命令是linux系统的一个强大之处.下面由学习啦小编为大家整理了Linux系统中的管道命令的用法详解的相关知识,希望对大家有帮助! Linux系统中的管道命令的用法详解 管道命令操 ...
- Java中的String数据类型,String类(字符串)详解
目录 第一章.String概述 1)String是什么 2)String长什么样 3)String的构造方法(声明方式) 第二章.String类的详解 1)String底层是什么 2)字符串存储的内存 ...
最新文章
- 5大厂2020年应届生AI岗薪资一览,作为一个AI老鸟你的薪资有他们高吗?
- 用双网卡做代理服务器设置具体步骤
- 结合源码看nginx-1.4.0之nginx内存管理详解
- pythongui显示图片_opencv2.4.13+python2.7学习笔记--opencv中的Gui特性--图片:读图像,显示图像,保存图像...
- linux 编译 php7_Linux下编译安装PHP7
- 【SpringCloud】Spring cloud 版本与 spring boot版本对应关系
- mysql锁表与不锁表设置主从复制的方法
- HDU2031 进制转换
- nodejs中的模块的理解
- 通达信板块监控指标_通达信板块分析指标公式
- 《终极算法》读书笔记(二)终极算法
- QIIME 2教程. 01简介和安装Introduction Install(2021.2)
- 在微信公众平台做HTML 5游戏的一些经验
- 使用octotree 出现Error: Connection error octotree解决办法
- 682. Baseball Game 棒球游戏 按字母处理
- 沃尔沃押注“超大尺寸HUD”,软硬件同步升级机会凸显
- 如何在阿里云中注册域名
- C语言32位系统下基本类型数据所占字节数
- 【k8s】path does not exist, ignoring“ path=“/etc/kubernetes/manifests“
- Ubuntu18.04安装realsense d435i SDK和ROS Wrapper以及相机标定全过程
热门文章
- https://sysdig.com/blog/
- 2021年四月上旬推荐文章
- Linux文件系统概述:硬盘驱动>通用块设备层>文件系统>虚拟文件系统(VFS)
- Java生成.jar库
- centos网络隔一段时间就断_如果是中专学历,以后做网络工程师会有瓶颈吗?
- 程序代码移植和烧录需要注意什么_网站定制化开发需要注意什么?
- nodejs返回html与vue,vuejs和nodejs的区别是什么?
- oracle查找clob中的值,Oracle 查找带有CLOB字段的所有表
- OpenShift 4 - 多云管理(2) - 部署应用
- OpenShift 4 - 安装部署 Ansible Automation Platform 4.x 控制台