由于工作需要对用户提交的数据进行验证,这是一个简单的日期正则验证实例,有需要了解的同学可参考。

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中的正则表达式使用详解相关推荐

  1. shell脚本中数组的使用_Shell脚本中的数组

    shell脚本中数组的使用 Knowing how to work with arrays in shell scripts will help you work with larger datase ...

  2. python中until的用法_Shell脚本中循环语句for,while,until用法

    循环语句: Bash Shell中主要提供了三种循环方式:for.while和until. 一.for循环 for循环的运作方式,是讲串行的元素意义取出,依序放入指定的变量中,然后重复执行含括的命令区 ...

  3. python中的美元符号_Shell脚本中的特殊字符(美元符、反斜杠、引号等)作用介绍...

    Shell中的特殊字符有 1.$ 美元符 2.\ 反斜杠 3.` 反引号 4." 双引号 5.< ,>;,*,?,[,] 下面我一一举列说明 一.$符号 1.echo $? 显示 ...

  4. linux命令 正则表达式,详解Linux命令中的正则表达式

    详解Linux命令中的正则表达式 Mark Do 2017年9月19日 暂无评论 阅读 981 次 命令中的正则表达式 如果要在命令输出或文本中筛选内容时使用模糊查找,就需要使用正则表达式.正则表达式 ...

  5. 【详解】MySQL中使用正则表达式

    [详解]MySQL中使用正则表达式 前言 使用介绍 1.基础匹配 2.二选一(OR)匹配 3.特定一组字符的匹配 4.范围匹配 5.特殊字符匹配 6.字符类匹配 7.多个实例结果匹配 8.使用定位符匹 ...

  6. es6字符串添加html标签,JavaScript_详解JavaScript ES6中的模板字符串,在 ES6 中引入了一种新的字符 - phpStudy...

    详解JavaScript ES6中的模板字符串 在 ES6 中引入了一种新的字符串字面量 - 模板字符串,除了使用反引号 (`) 表示,它们看上去和普通的字符串没有什么区别.在最简单的情况下,他们就是 ...

  7. js模板字符串自定义类名_详解JavaScript ES6中的模板字符串

    这篇文章主要介绍了详解JavaScript ES6中的模板字符串,JS的ES6版本带来诸多简洁化方面的重大改进,需要的朋友可以参考下 在 ES6 中引入了一种新的字符串字面量 - 模板字符串,除了使用 ...

  8. linux管道命令详解,Linux系统中的管道命令的用法详解

    Linux系统中管道命令是linux系统的一个强大之处.下面由学习啦小编为大家整理了Linux系统中的管道命令的用法详解的相关知识,希望对大家有帮助! Linux系统中的管道命令的用法详解 管道命令操 ...

  9. Java中的String数据类型,String类(字符串)详解

    目录 第一章.String概述 1)String是什么 2)String长什么样 3)String的构造方法(声明方式) 第二章.String类的详解 1)String底层是什么 2)字符串存储的内存 ...

最新文章

  1. 5大厂2020年应届生AI岗薪资一览,作为一个AI老鸟你的薪资有他们高吗?
  2. 用双网卡做代理服务器设置具体步骤
  3. 结合源码看nginx-1.4.0之nginx内存管理详解
  4. pythongui显示图片_opencv2.4.13+python2.7学习笔记--opencv中的Gui特性--图片:读图像,显示图像,保存图像...
  5. linux 编译 php7_Linux下编译安装PHP7
  6. 【SpringCloud】Spring cloud 版本与 spring boot版本对应关系
  7. mysql锁表与不锁表设置主从复制的方法
  8. HDU2031 进制转换
  9. nodejs中的模块的理解
  10. 通达信板块监控指标_通达信板块分析指标公式
  11. 《终极算法》读书笔记(二)终极算法
  12. QIIME 2教程. 01简介和安装Introduction Install(2021.2)
  13. 在微信公众平台做HTML 5游戏的一些经验
  14. 使用octotree 出现Error: Connection error octotree解决办法
  15. 682. Baseball Game 棒球游戏 按字母处理
  16. 沃尔沃押注“超大尺寸HUD”,软硬件同步升级机会凸显
  17. 如何在阿里云中注册域名
  18. C语言32位系统下基本类型数据所占字节数
  19. 【k8s】path does not exist, ignoring“ path=“/etc/kubernetes/manifests“
  20. Ubuntu18.04安装realsense d435i SDK和ROS Wrapper以及相机标定全过程

热门文章

  1. https://sysdig.com/blog/
  2. 2021年四月上旬推荐文章
  3. Linux文件系统概述:硬盘驱动>通用块设备层>文件系统>虚拟文件系统(VFS)
  4. Java生成.jar库
  5. centos网络隔一段时间就断_如果是中专学历,以后做网络工程师会有瓶颈吗?
  6. 程序代码移植和烧录需要注意什么_网站定制化开发需要注意什么?
  7. nodejs返回html与vue,vuejs和nodejs的区别是什么?
  8. oracle查找clob中的值,Oracle 查找带有CLOB字段的所有表
  9. OpenShift 4 - 多云管理(2) - 部署应用
  10. OpenShift 4 - 安装部署 Ansible Automation Platform 4.x 控制台