grep与正则表达式入门简介
grep,global search regular expression(RE) and print out the line,是一种强大的文本搜索工具,他能使用正则表达式搜索文本,把匹配到的行打印出来。 grep语法: grep [OPTIONS] PATTERN [FILE...] 1.选项: --color=auto匹配的字符高亮颜色显示 -v: 反向选取,只显示不符合模式的行; -o: 只显示被模式匹配到的字串,而不是整个行; -i: 不区分字符大小写; -A #:显示匹配到的行时,顺带显示其后面的#个行;例: -A 2 -B #:前面的#行; -C #:前后的#行; -E: 使用扩展的正则表达式,grep -E = egrep 2.正则表达式的元字符 ^:锚定行首的符合条件的内容,用法格式“^pattern” $: 锚定行尾的符合条件的内容,用法格式“pattern$” .: 匹配任意单个字符 *:匹配紧挨在其前面的字符任意次 .*: 匹配任意长度的任意字符 []:匹配指定范围内的任意单个字符 [^]:匹配指定范围外的任意单个字符 ?: 匹配紧挨在其前面的字符0次或1次 {m,n}: 匹配其前面的字符至少m次,至多n次 {0,n}: 至多n次;0-n次 {m,}:至少m次 {m}: 精确匹配m次 &;: 锚定词首,用法格式:&;pattern &;: 锚定词尾,用法格式:pattern&; (): 分组,用法格式: (pattern),引用前面匹配到的字符集,使用1引用 3.POSIX字符集 [:lower:]小写字符[a-z] [:upper:]大写字符[A-Z] [:digit:]数字字符[0-9] [:alpha:]文字字符[A-Za-z] [:alnum:]文字数字字符[A-Za-z0-9] [:space:]空白字符 [:punct:]标点符号 4.例子 1.搜索/etc/passwd文件中包含"root"的行 2.搜索/etc/passwd文件中以"root"开头的行 3.搜索/etc/passwd文件中以"sh"结尾的行
4.显示/etc/rc.d/rc.sysinit中以#开头,且后面跟一个或多个空白字符,而后又跟了任意非空白字符的行 要用好grep这个工具,其实就是要写好正则表达式,更多的是需要多多练习,希望大家一起共同进步. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |