【grep】【egrep】【基本 / 扩展正则表达式】
匹配/etc/passwd中含有"root"的行 匹配/etc/passwd中含有"root"的行,-v取反向结果,即结果显示不含有"root"的行 匹配/etc/passwd中的"root",-o只显示匹配到的结果root 匹配/proc/meminfo中的"f",-i不区分大小写,即F和f都会被匹配显示出来 匹配/etc/passwd中的"root",-A同时显示匹配行以及向下的行,-A2即显示向下的两行 匹配/etc/passwd中的"uucp",-B同时显示匹配行以及向上的行,-B2即显示向上的两行 用grep命令匹配/etc/passwd中含有“oo”的行,使用基本正则表达式o{2} 用egrep命令匹配/etc/passwd中含有“oo”的行,使用扩展正则表达式o{2},效果同上条命令 o{2},效果同上条命令
实例演示文本a.txt 实例演示文本b.txt 实例演示文本1.txt 实例演示文本2.txt . 匹配任意单个字符,以a.txt为例,内容全匹配 [^] 匹配指定集合外的任意字符,以a.txt为例,匹配非H开头的内容 [] 匹配指定集合中的任意单个字符,以a.txt为例,匹配H或h [[:lower:]] 匹配小写字母,以a.txt为例,除了H是大写字母,其他内容均被匹配,同[a-z] [[:upper:]] 匹配大写字母,以a.txt为例,匹配内容为H,同[A-Z] [[:alpha:]] 匹配所有字母,包含大小写,以1.txt为例,匹配所有内容,同[a-zA-Z] [[:digit:]] 匹配所有数字,以1.txt为例,匹配所有数字,同[0-9] [[:alnum:]] 匹配所有数字和字母,以1.txt为例。同[0-9a-zA-Z] [[:space:]] 匹配空白符,以2.txt为例,匹配到含有空白符的行 [[:punct:]] 匹配所有标点和特殊字符,以2.txt为例 * 匹配前面的字符任意次数,包含0次,以b.txt为例,匹配含0~3个x的行 ? 匹配前面的字符0次或1次,以b.txt为例,匹配y前有0个或1个x,即y,xy + 匹配前面的字符至少1次,以b.txt为例,匹配至少1个x {m} 匹配前面的字符m次,以b.txt为例,匹配2个x {m,n} 匹配前面的字符至少m次,至多n次,以b.txt为例,匹配2~3个x .* 匹配任意长度的任意字符,以1.txt为例,匹配0~2个a ^ 行首锚定,以1.txt为例,匹配以a为行开头 $ 行尾锚定,以1.txt为例,匹配以B为行结尾 ^$ 匹配空白行,以2.txt为例,匹配空白行,即第4、5、6、7行 &; 词首锚定,以a.txt为例,匹配以li开头的词及后面跟任意长度的任意字符 &;词尾锚定,以a.txt为例,匹配以ke结尾的词及前面跟任意长度的任意字符 &;pattern&; 匹配单词,以a.txt为例,匹配like () 分组,以及后向引用,以a..txt为例,找出其中最后一个单词是由此前某单词加r构成的行
[^] 匹配指定集合以外的任意字符 [] 匹配集合以内的任意单个字符 ? 匹配前面的字符0次或1次 + 匹配前面的字符至少1次 {m} 匹配前面的字符m次 {m,n} 匹配前面的字符至少m次,至多n次 () 分组,以及后向引用。以a.txt为例,找出其中最后一个单词是由此前某单词加r构成的行 | 或者,a|b ab|cd,以a.txt为例,匹配H或o或e (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |