506629361 发表于 2018-8-30 07:58:33

shell编程之grep与正则表达式

元字符:  

  
      ^:锚定行首用法格式:"^pattern"
  
             grep --color=auto '^root' /etc/passwd
  
      $:锚定行尾用法格式:"pattern$"
  
             grep --color=auto 'sh$' /etc/passwd
  
             grep --color=auto '^root$' /etc/passwd   #查找以root自成一行的行
  
             grep '^$' /etc/rc.d/rc.sysinit | wc -l   #统计空白行的行数
  
      .:匹配任意单个字符
  
      *:匹配紧挨在其前面的字符任意次(包含零次)
  
      a*b    #b之前任意个a
  
      .*:任意长度的任意字符
  
         grep --color=auto "r.*h" /etc/passwd
  
         grep --color=auto "r.*h$" /etc/passwd#以r开头,h结尾的行
  
      []:匹配指定范围内的任意单个字符
  
                 小写字母
  
                 大写字母
  
                 数字
  
          [:lower:]   小写字母
  
          [:upper:]   大写字母
  
          [:digit:]   数字
  
          [:alpha:]   所有字母
  
          [:alnum:]   所有数字和字母
  
          [:space:]   空白字符
  
          [:punct:]   标点符号
  
      [^]:匹配指定范围外的任意单个字符
  
       \?:匹配紧挨在其前面的字符0次或1次
  
            a\?b   #b前面出现0个或1个a
  
      \{m,n\}:匹配其前面的字符至少m次,至多n次
  
             \{0,3\}至多3次
  
             \{3,\}   至少3次
  
             \{m\}    精确匹配m次
  
             grep "a\{1,2\}b" grep.txt#b之前的a出现1次到2次
  
             grep ".\{2,5\}"/etc/rc.d/rc.sysinit#以b(不区分大小写)开头,中间出现2到5次任意字符,后面跟t(不区分大小写)
  
       \
  
             grep ".\{2,5\}\>"/etc/rc.d/rc.sysinit
  
             grep "\"/etc/rc.d/rc.sysinit   #词首词尾都锚定 锚定单词


页: [1]
查看完整版本: shell编程之grep与正则表达式