Linux教程

linux中的正则

本文主要是介绍linux中的正则,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

linux中的正则表达式

 

正则表达式的分类(grep)

  1.普通正则表达式

  2.拓展正则表达式

 

普通正则表达式

  ^              :以某字符开头

  $              :以某字符结尾

                :匹配除换行符之外的任意单个字符

  *               :匹配前导字符的任意个数

  []              :某组字符串的任意一个字符

  [^]            :取反

  [a-z]         :匹配小写字母

  [A-Z]        :匹配大写字母

  [a-zA-Z]   :匹配字母

  [0-9]         :匹配数字

                :取消转义

  ()              :分组

  \n             :代表第n个分组

 

拓展正则表达式

  {}  :匹配的次数

    {n}     :匹配n次

    {n,}    :至少匹配n次

    {n,m} :匹配 n 到 m 次

    {,m}   :最多匹配m次

  +  :匹配至少有一个前导字符

  ?  :匹配一个或零个前导字符

  |   :或

案例

  案例1:在/etc/passwd文件中,匹配以ftp开头的行

    grep '^ftp' /etc/passwd

 

  案例2:在/etc/passwd文件中,匹配以bash结尾的行

    grep 'bash$' /etc/passwd

 

  案例3:匹配本机中有哪些ip

    ip a | grep -oE '([0-9]{1,3}\.){3}[0-9]{1,3}'

 

  案例4:要求将/etc/fstab中的去掉包含 # 开头的行,且要求 # 后至少有一个空格

    grep -vE '^#\ +' /etc/fstab

 

  案例5:找出文件中至少有一个空格的行

    grep -E '\ +' xxx

 

  案例6:将 nginx.conf 文件中以#开头的行和空行,全部删除

    grep -vE '^\ *#|^$' /etc/nginx/nginx.conf

 

 

END

这篇关于linux中的正则的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!