linux 延伸正规表示法

+ 意义:重复『一个或一个以上』的前一个 RE 字符
范例:搜寻 (god) (good) (goood)... 等等的字串。 那个 o+ 代表『一个以上的 o 』所以,底下的运行成果会将第 1, 9, 13 行列出来。

egrep -n ‘go+d‘ regular_express.txt

? 意义:『零个或一个』的前一个 RE 字符
范例:搜寻 (gd) (god) 这两个字串。 那个 o? 代表『空的或 1 个 o 』所以,上面的运行成果会将第 13, 14 行列出来。 有没有发现到,这两个案例( ‘go+d‘ 与 ‘go?d‘ )的结果集合与 ‘go*d‘ 相同? 想想看,这是为什么喔! ^_^

egrep -n ‘go?d‘ regular_express.txt

| 意义:用或( or )的方式找出数个字串
范例:搜寻 gd 或 good 这两个字串,注意,是『或』! 所以,第 1,9,14 这三行都可以被列印出来喔!那如果还想要找出 dog 呢?

egrep -n ‘gd|good‘ regular_express.txt
egrep -n ‘gd|good|dog‘ regular_express.txt

() 意义:找出『群组』字串
范例:搜寻 (glad) 或 (good) 这两个字串,因为 g 与 d 是重复的,所以, 我就可以将 la 与 oo 列於 ( ) 当中,并以 | 来分隔开来,就可以啦!

egrep -n ‘g(la|oo)d‘ regular_express.txt

()+ 意义:多个重复群组的判别
范例:将『AxyzxyzxyzxyzC』用 echo 叫出,然后再使用如下的方法搜寻一下!

echo ‘AxyzxyzxyzxyzC‘ | egrep ‘A(xyz)+C‘

上面的例子意思是说,我要找开头是 A 结尾是 C ,中间有一个以上的 "xyz" 字串的意思~

时间: 2024-10-14 15:25:44

linux 延伸正规表示法的相关文章

鸟哥的Linux私房菜——第十五章:正规表示法

视频链接 土豆: B站: 本章讲的是 目录如下 1. 前言:2. 基础正规表示法:2.1 以 grep 撷取字符串 (grep -iv  i是忽略大小写,v是反向选择显示没有搜寻字符串的 '搜寻字符串' filename)2.2 重要特殊字符(characters) ([] ^ $ *)3. 延伸正规表示法: (+ ? | () )4. 格式化打印: printf ()5. sed 工具简介 (sed '1a ..'   a新增  d删除  c取代)6. awk 工具简介 (awk  NF每一行

鸟哥的Linux私房菜_基础版_学习笔记8:第十二章 正规表示法与文件格式化处理

11.2 基础正规表示法 11.2.1 语系对正规表示法的影响 由於不同语系的编码数据并不相同,所以就会造成数据撷取结果的差异了. 举例来说,在英文大小写的编码顺序中,zh_TW.big5 及 C 这两种语系的输出结果分别如下: LANG=C     时:0 1 2 3 4 ... A B C D ... Z a b c d ...z LANG=zh_TW 时:0 1 2 3 4 ... a A b B c C d D ... z Z 特殊符号 代表意义 [:alnum:] 代表英文大小写字节及

第十二章、正规表示法与文件格式化处理

1. 前言: 什么是正规表示法 1.1 什么是正规表示法 1.2 正规表示法对於系统管理员的用途 1.3 正规表示法的广泛用途 1.4 正规表示法与 Shell 在 Linux 当中的角色定位 1.5 延伸的正规表示法 2. 基础正规表示法 2.1 语系对正规表示法的影响 2.2 grep 的一些进阶选项 2.3 基础正规表示法练习 2.4 基础正规表示法字符汇整(characters) 2.5 sed 工具: 行的新增/删除, 行的取代/显示, 搜寻并取代, 直接改档 3. 延伸正规表示法 4

Linux学习资料-基础正规表示法(grep)

基础正规表示法:   -------------------------------------------------------------------------------- grep 语法: [root @test /root ]# grep [-acinv] '搜寻字符串' filename 参数说明: -a :将 binary 档案以 text 档案的方式搜寻数据 -c :计算找到 '搜寻字符串' 的次数 -i :忽略大小写的不同,所以大小写视为相同 -n :顺便输出行号 -v :

拜师鸟哥之linux学习体会(11)——正规表达法与文件格式化处理

1.    正规表示法就是处理字符串的方法,以行为单位来进行字符串的处理,透过一些特殊符号的辅助,可以让使用者轻松到达搜索.删除.取代某特定字符串的处理程序.举个简单的例子,我们知道邮箱都是有特定格式的,可以利用该格式来进行筛选,把不符合的字符串删去.只要每次有来信时,都先将来信的标题与内容进行特殊字符串的对比,发现有不良邮件就进行剔除. 2.    正规表示法最常用的指令就是grep,意思是进行匹配,例如grep 'eth0'就是找出含eth0的那一行.grep也是以行为单位进行数据的匹配的,

正规表示法

一.正规表示法需要注意的地方 1.那个^符号,在字符集合符号(括号[])之内与之外是不同的!在[]内代表[反向选择],在之外代表定位在行首的意思. 2.在bash中,通配符*表示0个或多个字符,但是正规表示法并不是通配符,两者之间是不同的.两个符号在正规表示法的意义如下: .(小数点):代表[一定有一个任意字符的意思] *(星星号):代表[重复前一个字符,0到无穷多次]的意思,为组合形态 3. *代表的是[重复0个或多个前面的RE字符]的意义,因此[0*]代表的是[拥有空字符或一个o以上的字符]

鸟哥私房菜基础篇:正规表示法与文件格式化处理习题

猫宁!!! 参考链接:http://cn.linux.vbird.org/linux_basic/0330regularex.php#ex 鸟哥是为中国信息技术发展做出巨大贡献的人. 真的只有两道题! 1-我想要知道,在 /etc 底下,只要含有 XYZ 三个字节的任何一个字节的那一行就列出来,要怎样进行? grep [XYZ] /etc/*   2-将 /etc/termcap 内容取出后,(1)去除开头为 # 的行 (2)去除空白行 (3)取出开头为英文字母的那几行 (4)最终统计总行数该如

分享Linux系统快速入门法

相信看到这篇文章的你一定是想要学习Linux,或者已经在学习Linux的人了,那我们就可以一起探讨一下,学习Linux如何快速入门呢? 首先,希望大家弄清楚自己为什么要学习Linux,有的人是因为兴趣,有的人是因为Linux比较好找工作,兴趣驱使的那部分人找好方法学习Linux就差不多了.另一部分为了工作来学习Linux的人,不仅要找到合适自己的方法,而且还要更加努力,有自己的计划.但是无论是什么原因学习Linux的,方法还是差不多的,想要快速入门,首先你要选择一本基础书籍带你入门,开始的时候我

Linux正则表达式grep与egrep

Linux正则表达式grep与egrep 正则表达式:它是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串.在很多文本编辑器或其他工具里,正则表达式通常被用来检索或替换那些符合某个模式的文本内容.其实正则表达式,只是一种思想,一种表示方法.只要我们使用的工具支持表示这种思想那么这个工具就可以处理正则表达式的字符串.常用的工具有grep, sed, awk,这三个都是针对文本的行才操作的. grep  过滤器语法: grep  [-cinvABC]  'word'  filenam