正则表达式
文本搜索工具,根据用户指定的文本模式(正则表达元字符以及正常字符组合而成)对目标文件进行逐行搜索,显示能匹配到的行; grep命令: grep [OPTIONS] PATTERN [FILE...] -o: 只显示被模式匹配到的内容 -i: ignore case,不区分字符大小写 -v: 显示不能够被模式匹配到的行 -E:使用扩展的正则表达式 或egrep 正则表达式:REGular EXPression REGEXP 是由元字符及正常字符所书写的模式,其中的元字符不表示字符本身的意义,而是用于表达控制或通配等功能; 基本正则表达式元字符: 字符匹配: . :匹配任意单个字符 []: 匹配指定范围内的任意单个字符 [^]: 匹配指定范围外的任意单个字符 [0-9],:匹配数字0-9 [a-z]:匹配字符a-z [:lower:]:匹配所有小写字母 [:upper:]:匹配所有大写字母 [:digit:]:匹配所有数字 [:alpha:]:匹配所有字母包括大小写 [:alnum:]:匹配所有字母和数字 [:punct:]:匹配所有的标点符号 [:space:]:匹配所有的空白字符 次数匹配:在期望匹配字符后面提供一个控制符,用于表达匹配其前面字符指定的次数 * : 任意长度,表示0次、1次或多次; ?:0次或1次;表示其左侧字符可有可无 +: 1次或多次;表示其左侧字符至少出现1次 {m}:m次;表示其左侧字符精确出现m次; {m,n}:至少m次,至多n次; 位置锚定: ^: 锚定行首: ^PATTERN $: 锚定行尾: PATTERN$ ^PATTERN$:用模式来匹配整行 ^$: 匹配空白行; 单词锚定:由非特殊字符组成的连续的字符串 &; :锚定词首,也可用b &;PATTERN,或bPATTERN &; :锚定词尾,也可以用b &; :锚定词尾,也可以用b &;PATTERN&;:匹配PATTERN能匹配到的整个单词 例题: 1、显示/proc/meminfo文件中以大写或小写S开头的行;用两种方式; egrep -i ^s /proc/meminfo 2、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; egrep "^[[:space:]]+" /boot/grub/grub.conf 3、、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; egrep "^#[[:space:]]+[^[:space:]]+" /etc/rc.d/rc.sysinit 4、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行 Egrep -o "&;[[:alnum:]]+&;()" /etc/rc.d/init.d/functions 5、找出/etc/passwd文件中的一位数或两位数; egrep --color=auto "&;[0-9]{1,2}&;" /etc/passwd (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |