egrep 正则表达式引擎: 采用不同算法

则将匹配行及其后n行一起打印出来 6,查抄处理惩罚正则表达式的软件模块 pcre(perl compatible regular expressions) 元字符分类:字符匹配、匹配次数、位置锚定、分组 man 7 regex 字符匹配: . 匹配任意单个字符 默认是贪婪匹配 [] 匹配指定范畴内的任意单个字符 .在内里也是点不需要转义 [^] 匹配指定范畴外的任意单个字符 [:alnum:] 字母和数字 [:alpha:] 代表任何英文巨细写字符,/单词头 单词一般以空格或非凡字符做脱离。aky码友部落

/3。aky码友部落

这些变量的定名方法为: /1,用于单词模式的左侧 / 或 /b 词尾锚定;用于单词模式的右侧 /pattern/ 匹配整个单词 分组:/(/) 将一个或多个字符绑缚在一起,varnish等 分两类: 根基正则表达式:bre 扩展正则表达式:ere grep -e,-c:假如匹配乐成。aky码友部落

则只将文件名打印出来。aky码友部落

5, /b :语尾 分组: () 后向引用:/1,windows系统下雷同呼吁findstr,其他的都是单词的脱离符 -e:相当于egrep -f:相当于fgrep,至多n次 /{,-v :取反。aky码友部落

没有任何输出, grep egrep fgrep(不支持正则表达式) grep需要尺度输入 因此经常位于管道右侧 呼吁参数: --color=auto: 对匹配到的文本着色显示 -v: 显示不被pattern匹配到的行 -i: 忽略字符巨细写 -n:显示匹配的行号 -c: 统计匹配的行数 -o: 仅显示匹配到的字符串 -q: 静默模式,反复 次数多的排到前面 正则表达式: regexp:由一类非凡字符及文本字符所编写的模式,亦即 a-z,不输出任何信息 -a #: after,-l :假如匹配乐成,包罗0次 贪婪模式:尽大概的匹配切合条件的字符 .* 任意长度的任意字符 /? 匹配其前面的字符0或1次 /+ 匹配其前面的字符至少1次 /{n/} 匹配前面的字符n次 /{m,nginx。aky码友部落

它能利用特定模式匹配(包罗正则表达式)搜索文本,如: /(root/)/+ 分组括号中的模式匹配到的内容会被正则表达式引擎记录于内部的变量中, .*所有字 6,[a-z] 小写和大写字母 12,不支持正则表达式 -f: 跟一个文件(写有差异字符)举办内容检索是逻辑or干系 操练题: 1、显示三个用户root、centos、arch的uid和默认shell (用户需要本身建设) 2、找出/etc/rc.d/init.d/functions文件中行首为某单词(包罗下划线)后头跟一 个小括号的行 3、利用egrep取出/etc/rc.d/init.d/functions中其基名 4、利用egrep取出上面路径的目次名 5、统计last呼吁中以root登录的每个主机ip地点登录次数 6、操作扩展正则表达式别离暗示0-9、10-99、100-199、200-249、250-255 0-9: [0-9] 10-99: [1-9][0-9] 100-199: 1[0-9][0-9] 200-249: 2[0-5][0-9] 250-255: 25[0-5] 7、显示ifconfig呼吁功效中所有ipv4地点 8、将此字符串:welcome to centos linux 中的每个字符排序, egrep 正则表达式引擎: 回收差异算法,$行尾 3,不匹配 12。aky码友部落

则将匹配行及其前后n行一起打印出来 8,[^]对字符组内的每个字符取反(不匹配字符组内的每个字符) 8,至少以一个空缺字符开头的且后头有非 空缺字符的行 6、找出netstat -tan呼吁功效中以listen后跟任意多个空缺字符末了的行 7、显示centos7上所有系统用户的用户名和uid 8、添加用户bash、testbash、basher、sh、nologin(其shell为/sbin/nologin), ^[^]非字符组内的字符开头的行 9。aky码友部落

-w:匹配单词 二:正则先容 首先建a.txt, /b :语首 /,-n :显示行号 2, []字符组内的任一字符 7,用于模式的最左侧 $ 行尾锚定,扩展 10,-o :只显示匹配的内容 3,*前导字符的零个或多个 5,^ 行首 2,至多n次 位置锚定: ^ :行首 $ :行尾 /,而暗示节制或通配的成果 措施支持:grep,-a :假如匹配乐成,取出磁盘各分区操作率,得用$?来判定执行乐成没有,即有没有过滤到想要的内容 4,在举办验证 1, a-z [:lower:] 小写字母 [:upper:] 大写字母 [:blank:] 空缺字符(空格和制表符) [:space:] 程度和垂直的空缺字符(比[:blank:]包括的范畴广) [:cntrl:] 不行打印的节制字符(退格、删除、警铃...) [:digit:] 十进制数字 [:xdigit:]十六进制数字 [:graph:] 可打印的非空缺字符 [:print:] 可打印字符 [:punct:] 标点标记 匹配次数:用在要指定次数的字符后头,用于模式的最右侧 ^pattern$ 用于模式匹配整行 ^$ 空行 ^[[:space:]]*$ 空缺行 / 或 /b 词首锚定,awk,并从大到小排序 grep和正则表达式参数 一:grep参数 1, 后#行 -b #: before, ... 可能: a|b: a或b c|cat: c或cat (c|c)at:cat或cat 操练题: 1、显示/proc/meminfo文件中以巨细s开头的行(要求:利用两种要领) 2、显示/etc/passwd文件中不以/bin/bash末了的行 3、显示用户rpc默认的shell措施 4、找出/etc/passwd中的两位或三位数 (只要数字的话可以加-o选项仅仅显示数字) 5、显示centos7的/etc/grub2.cfg文件中,-c:假如匹配乐成, less。aky码友部落

找 出/etc/passwd用户名和shell同名的行 9、操作df和grep,看成一个整体举办处理惩罚, 前#行 -c #:context。aky码友部落

-b:假如匹配乐成, ... /1 暗示从左侧起第一个左括号以及与之匹配右括号之间的模式所匹配到的字符 示例: /(string1/+/(string2/)*/) /1 :string1/+/(string2/)* /2 :string2 后向引用:引用前面的分组括号中的模式所匹配字符,vim,则将匹配行及其前n行一起打印出来 7, 前后各#行 -e:实现多个选项间的逻辑or干系 grep e cat -e dog file -w:匹配整个单词 数字加字母下划线全都算单词的一部门,凡是-rl一起用。aky码友部落

n/} 匹配前面的字符至多n次 /{n,则将匹配到的行数打印出来 9,/} 匹配前面的字符至少n 位置锚定:定位呈现的位置 ^ 行首锚定,更多关于grep和正则表达式参数的资料请存眷聚合云库其它相关文章! 原文链接:https://blog.51cto.com/11010461/2095381 ,grep -rl root /etc ,并默认输出匹配行,[a-z] 大写字母 11,-i :忽略巨细写 11,个中有些字符(元字符) 不暗示字符字面意义。aky码友部落

持续的字符串被当做单词 /单词尾 以上就是linux grep与正则表达式利用先容的具体内容, /2,-q :静默模式,用于指定前面的字符要呈现的次数 * 匹配前面的字符任意次,[0-9] 数字 13。aky码友部落

/2。aky码友部落

而非模式自己 可能:/| 示例:a/|b: a或b c/|cat: c或cat /(c/|c/)at:cat或cat 扩展的正则表达式: egrep = grep -e egrep [options] pattern [file...] 扩展正则表达式的元字符: 字符匹配: . 任意单个字符 [] 指定范畴的字符 [^] 不在指定范畴的字符 次数匹配: *:匹配前面字符任意次 ?: 0或1次 +:1次或多次 {m}:匹配m次 {m,n}:至少m,n/} 匹配前面的字符至少m次,-e :便是egrep, grep (缩写来自globally search a regular expression and print)是一种强大的文本搜索东西。aky码友部落

unix的grep家属包罗grep、egrep和fgrep。aky码友部落

sed,失败则不打印,[a-z] 小写字母 10。aky码友部落

.除了换行符以外的任意单个字符 4,。aky码友部落