Linux Shell中grep与正则表达式使用方法

Grep命令为linux常用的命令之一,其作用为根据模式搜索文本病返回匹配模式的行。

用法:grep [options] pattern file

常用的options有:

   -i,不区分大小写搜索

   -n,在输出符合条件的行前显示行号

   -o,只显示被模式匹配到的字符串

   -w,只显示全字符合的列

   -v,反向选取,只显示不符合模式的行

   -A num,查找到符合模式的行后顺带显示其后面的num行

   -B num,查找到符合模式的行后顺带显示其前面的num行

   -C num,查找到符合模式的行后顺带显示其前后面的num行

正则表达式中的元字符用法:

   ^锚定行首符合条件的内容

   $锚定行尾符合条件的内容

   .匹配任意的单个字符

   *匹配其前面字符任意次

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

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

   []匹配制定范围内任意单个字符串

   [^]匹配制定字符外任意字符

       [a-z]任意小写字母

       [A-Z]任意大写字母

       [0-9]任意数字

       [[:lower:]]任意小写字母

       [[:upper:]]任意大写字母

       [[:space:]]空格

       [[:digit:]]数字

       [[:alpha:]]所有字母

       [[:alnum:]]所有字母加数字,相当于[a-zA-Z0-9]

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

       \(\) 匹配()内条件,还可以引用  

   \<锚定词首

   \>锚定词尾


e.g:

1)找出/etc/passwd中以root开头的行

wKioL1MVfGSSJGSEAABYSv48SGs606.jpg

2)找出/etc/passwd中以bash结尾的行

wKioL1MVfQSQjC5MAAH4bGxmzsk672.jpg

3)找出/etc/rc.d/rc.sysinit中的空白行,显示行号且空白行的前后2

wKioL1MVfmKiNUJFAAF1IXmPSpk526.jpg

4)显示/proc/meminfo文件中以不区分大小的s开头的行

wKiom1MVgVSiN50zAADfcJTB1Pg004.jpg

5)显示/boot/grub/grub.conf文件中以一个或多个空白字符开头的行并显示行号

wKiom1MVkhDjvgPMAAHBmvhlfG0243.jpg



你可能感兴趣的:(linux,grep,正则表达式使用方法)