Shell 正则表达式与sed实例
1.04101802001-04101802043正则表达式匹配
egrep "^041018020(0[1-9]|[1-3][0-9]|4[0-3])$"
^……$:以……开始到……结束,固定匹配长度。
2.ipv4地址,邮箱地址
1)ipv4地址
egrep "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$"
前面规定数字的范围在250-255或200-249或0-199,然后前三组后面都带有点,所以进行3次重复匹配,后面直接规定数字的范围后就可以匹配到符合规定的ipv4地址了。
2)邮箱地址
egrep -o "^([a-zA-Z0-9_\.\+\-]+)@([a-zA-Z0-9_\.\+\-]+)\.([a-zA-Z]{2,5})$")
邮箱地址格式一般为:username@hostname.顶级域名。
所以前面的username匹配所有可能的条件,然后加@后面的hostname。
顶级域名一般为大于两个字符不超过五个字符的英文单词,所以重复匹配2到5次的所有大小写英文单词。
下面写了一个脚本,看一下执行的结果如何:
read -p "please input your Email:" Email
email=$(echo $Email | egrep -o "^([a-zA-Z0-9_\.\+\-]+)@([a-zA-Z0-9_\.\+\-]+)\.([a-zA-Z]{2,5})$")
if [ ! -n "$email" ]
thenecho "your Email is wrong"
elseecho "your Email is :$email"
fi
[root@localhost 20220827]# bash Email.sh
please input your Email:13133313@163.com
your Email is :13133313@163.com
[root@localhost 20220827]# bash Email.sh
please input your Email:cqucc_xzl.19107507@cqucc.com
your Email is :cqucc_xzl.19107507@cqucc.com
所以可以看能够检测并匹配到所有符合条件的邮箱地址。
3.sed命令使用: 地址定界和编辑命令的使用
1)d命令 删除匹配到的行
2)i命令 表示在匹配到的行之前追加内容
3)c命令 表示把匹配到的行和给定的文本进行交换
4)p命令 打印当前模式空间内容
-n 代表只输出sed处理后的内容
5)s/pattern/string 替换内容
6)指定文件中哪一行进行替换,利用#(数字)
7)删除文件中第4行到末尾行中所有的hello
8)删除每一行的第一个单词
9)打印第一行
-e 表示直接在命令行模式上进行sed的动作编辑,多个子命令之间也可以用分号隔开
10)打印行号
11)只打印1和5行
12)把多行转为一行,换行用‘,’替换
Shell 正则表达式与sed实例相关推荐
- shell脚本之正则表达式及sed,awk的使用
一,正则表达式 1,正则表达式语法Regular Expression vim grep sed awk perl java nginx apache mail垃圾邮件过滤...等等都使用正则 什么叫 ...
- PowerShell与Unix Shell对比:八大实例
PowerShell与Unix Shell对比:八大实例 本文将从八个实例对比PowerShell和Unix Shell,通常是Linux Bourne Shell(包括sh.ksh和bash等).二 ...
- linux php preg扩展,PHP_linux shell 正则表达式(BREs,EREs,PREs)差异比较,在计算机科学中,是指一个用 - phpStudy...
linux shell 正则表达式(BREs,EREs,PREs)差异比较 在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串.在很多文本编辑器或其他工具里,正则表达式 ...
- 通用线程 -- sed 实例
通用线程 -- sed 实例,第 1 部分 Daniel Robbins, President/CEO, Gentoo Technologies, Inc. 2001 年 10 月 在本文章系列中, ...
- shell正则表达式及一些排序命令(sort、uniq、tr)
shell正则表达式及一些排序命令 文章目录 shell正则表达式及一些排序命令 一.sort命令 语法格式: 常用选项: 二.uniq命令 语法格式: 常用选项: 三.tr命令 语法格式: 常用选项 ...
- Shell ❀ 三剑客 - Grep + Sed + Awk
文章目录 八.三剑客 - Grep + Sed + Awk 1.Grep - 过滤 1.1 常用grep参数 1.2 使用方法 2.Sed - 行匹配 2.1 执行原理 2.2 常见语法 2.3 使用 ...
- Shell正则表达式(grep)
Shell正则表达式grep 正则表达式概述 一.正则表达式定义 二.正则表达式组成 三.基础正则表达式--`grep.sed命令支持` (1)基础正则表达式示例 (2)利用中括号" [ ] ...
- linux shell 正则表达式
linux shell 正则表达式比较 则表达式:在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串.在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那 ...
- 第十五章 shell正则表达式
第十五章 shell正则表达式 见图片 Shell正则表达式 正则表达式的分类 基本的正则表达式(Basic Regular Expression 又叫Basic RegEx 简称BREs) 扩展的正 ...
- linux绑定中文域名,linux shell正则表达式如何匹配域名(包含中文域名)
linux shell正则表达式如何匹配域名(包含中文) shell匹配域名 1. 匹配示例 最近的项目需要校验一下域名格式匹配,百度一下,说明如下: DNS规定,域名中的标号都由英文字母和数字组成, ...
最新文章
- 什么是物理层接口?—Vecloud 微云
- 从程序详解拒绝服务***
- 2016年12月20日感想
- 关于element-ui的upload文件上传组件的使用技巧总结
- datx 开启debug
- C# ASPX页面做上传提示:超过了最大请求长度,解决方法
- android基础开发 书,Android 开发基础
- 国庆七天乐 Day7
- 设计糟糕的 RESTful API 就是在浪费时间!
- 奇安信代码安全实验室帮助微软修复高危漏洞,获官方致谢
- Http下的各种操作类.WebApi系列~通过HttpClient来调用Web Api接口
- 【Shiro第九篇】SpringBoot + Shiro整合JWT
- 高中计算机会考操作题网页制作,高中信息技术会考网页制作操作知识点Word
- opencv快速下载
- 基于FFT的平面阵列方向图综合
- 计算机考研压分的学校,考研压分院校盘点 | 都说这些学校今年压分严重?!
- 手把手教学--Python爬取有道词典
- 关于计算机500字英语作文,500字英语作文
- 美团多线受挫 估值恐已缩水
- ES6 — ES11 新特性一篇通
热门文章
- ftp上传工具,八款最佳的ftp上传下载工具,支持中文(ftp客户端分享)
- Mysql从入门到入魔——5. 聚集、分组、子查询
- [Anaconda学习]本地查看代理ip,anaconda挂代理
- fiddler 证书错误
- javascript中使用getMonth()获得月份比实际月份少一个月
- 笔记——Tensorflow: The Confusing Parts (2)
- 写给朋友们的Markdown教程,真的很好用,而且很简单
- php手册经常见到,什么是“二进制安全”?
- python爬虫运行时电脑无响应_Python爬虫爬资源时由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。怎么破?...
- C# WinForm开发 GMap离线地图