grep命令-正则表达式

正则表达试:

grep egrep fgrep


grep:根据模式搜索文本,并将符合模式的文本行显示出来。

pattern:文本字符和正则表达式的元字符组合而成匹配条件。

grep : 使用基本正则表达式定义的模式来过滤文本的命令。

       -i 不区分大小写

       --color 把匹配到的

       -v 显示没有被模式匹配到行。(相反)

       -o 只显示被模式匹配到的串。

       -E 使用扩展正则表达式

       -A 匹配到的及显示下文n行

       -B 匹配到的及显示上文n行

       -C 匹配到的及显示上、下文n行 #grep -C n 'abc.*' /proc/cpuinto



正则表达式: REGular EXPression, REOEXP

元字符:

       .       匹配任意单个字符

       []     匹配指定范围内的任意单个字符

       [^]  匹配指定范围外的任意单个字符

字符集合: [:space:] : 所有空白字符

                     [:punct:] : 所有标点符号

                     [:lower:] :所有小写字母

                     [:upper:] :所有大写字母

                     [:digit:] :所有数字

                     [:alnum:] :所有数字和字母

                     [:alpha:] :所有字母

                     [:print:] :所有非空白字符(包括空格)



匹配次数:

*       匹配其前面的字符任意次

         a , b ,ab , aab ,acb , adb , anb

         a*b

         a.*b


.*     表示任意长度的任意字符


\?   匹配其前面的字符1次或0次

\{m,n\}       匹配其前面的字符至少m次,至多n次

                   示例:\{1,\}

                   示例:\{0,3\}


位置锚定:

^       锚定行首,此字符后面的任意内容必须出现在行首

$       锚定行尾,此字符后面的任意内容必须出现在行尾

^$     空白


\<或\b       锚定词首,其后面的任意字符必须作为单词首部出现

\>或\b       锚定词尾,其前面的任意字符必须作为单词尾部出现

                    示例:#grep '\'


分组:

\(\)

             \(ab\)*

             后向引用:

             \1:引用第一个左括号以及与之对应的右括号所包括的所有内容

             \2:

             \3:

                   示例:#grep '\(l..e\).*\1' test.txt

---------------------------------------------------------------------------------------------------------------------------

扩展正则表达式:

无特别说明的与原相同:

?       不需要’\’

+       匹配其前面的字符至少1次

{m,n}       不需要’\’


分组:

{}:分组

\1       \2       \3 ....


或者:

|       or

                   示例:#grep -E '(C|c)at'

你可能感兴趣的:(grep命令-正则表达式)