shell中的正则表达式

本文介绍了shell中的正则表达式,解释了什么是正则以及其在生活中的应用。接着详细讲述了grep命令的参数和用法,如显示行号、只显示匹配内容等。还提到了grep的不同类型,如grep、fgrep、egrep和pgrep。文章进一步讨论了正则表达式的应用,包括posix定义的字符分类,并列举了各种运算符的使用。最后,文章提到了命令执行后的状态判断和测试命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一 什么是正则

正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法。或者说:正则就是用来描述一类事物的规则。
  生活中处处都是正则:
  比如我们描述:4条腿
  你可能会想到的是四条腿的动物或者桌子,椅子等
  继续描述:4条腿,活的
  就只剩下四条腿的动物这一类了

在linux中,通配符是由shell解释的,而正则表达式则是由命令解释的,下面我们就为大家介绍grep文本处理命令,它也可以解释正则。

二 grep

参数

-n  :显示行号
-o  :只显示匹配的内容
-q  :静默模式,没有任何输出,得用$?来判断执行成功没有,即有没有过滤到想要的内容

-l  :如果匹配成功,则只将文件名打印出来,失败则不打印,通常-rl一起用,grep -rl 'root' /etc 
-A  :如果匹配成功,则将匹配行及其后n行一起打印出来
-B  :如果匹配成功,则将匹配行及其前n行一起打印出来
-C  :如果匹配成功,则将匹配行及其前后n行一起打印出来
--color
-c  :如果匹配成功,则将匹配到的行数打印出来
-E  :等于egrep,扩展
-i  :忽略大小写

-v  :取反,不匹配
-w:匹配单词,单词的意思是特殊符号隔开的英文字母组合,对象中的正则表达式都会当成单词(前后