首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Shell条件表达式的正则匹配

Shell条件表达式的正则匹配

作者头像
恋喵大鲤鱼
发布2019-03-04 14:58:02
6.5K0
发布2019-03-04 14:58:02
举报
文章被收录于专栏:C/C++基础C/C++基础

Shell编程中,我们可以使用双中括号运算符[[]]和=~来判断字符串是否匹配给定的正则表达式,例如匹配以lvlv结尾的字符串:

filelist="lvlvcheck dablelvlv checklvlv"
for file in $filelist
do 
	if [[ $file =~ lvlv$ ]]
	then
		echo $file
	fi
done

脚本运行输出:

dablelvlv 
checklvlv

注意事项:if [[ $file =~ lvlv$ ]] 中注意有五个空格,而且正则表达式不能使用单引号或者双引号,否则会被当做普通字符串。

这里要吐槽一下,Shell真的很强大,但是语法又过于苛刻晦涩,少一个空格有时都能让人抓狂,所以书写时要多加留意,严格遵循Shell语法要求。

如果想使Shell if不匹配指定的正则表达式,可以使用Shell的逻辑非运算符感叹号!,同时还是要注意添加5个空格,示例如下:

if [[ ! $file =~ check$ ]]

参考文献

[1]Shell特殊字符大全

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年02月13日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 参考文献
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档