shell脚本之正则表达式(一)——grep, egrep

  

正则表达式的定义

  

正则表达式又称正规表达式,常规表达式。正则表达式是由普通字符与元字符组成的文字模式。模式用于描述在搜索文本时要匹配的一个或多个字符串。正则表达式一般用于脚本编程与文本编辑器中。很多文本处理器与程序设计语言均支持正则表达式,在Linux系统中常见的文本处理器如grep, egrep, sed、awk。正则表达式具备很强大的文本匹配功能,能够在文本海洋中快速高效地处理文本。

  <人力资源/>   <人力资源/>   

正则表达式用途

  

正则表达式对于系统管理员来说是非常重要的,系统运行过程中会产生大量的信息,这些信息有些是非常重要的,有些则仅是告知的信息。身为系统管理员如果直接看这么多的信息数据,无法快速定位到重要的信息,如“用户账号登录失败”“服务启动失败”等信息。这时可以通过正则表达式快速提取”有问题”的信息。如此一来,可以将运维工作变得更加简单,方便。

  <人力资源/>   <人力资源/>   

基础正则表达式——grep

  

正则表达式的字符串表达方法根据不同的严谨程度与功能分为基本正则表达式与扩展正则表达式。基础正则表达式是常用的正则表达式的最基础的部分。

  

1。查找特定字符
- n表示显示行号
我表示不区分大小写
(符合匹配标准的字符,字体颜色会变为红色)

  <人力资源/>   <人力资源/>   

实例演示

  

(1)查找出特定字符”“所在位置

  
 <代码> [root@localhost ~] # grep - n ' '/opt/httpd . conf  
  

 shell脚本之正则表达式(一)——grep, egrep

  <人力资源/>   <人力资源/>   

(2)反向查找不包含“的”字符的行

  
 <代码> [root@localhost ~] # grep vn ' '/opt/httpd . conf  
  

 shell脚本之正则表达式(一)——grep, egrep

  <人力资源/>   <人力资源/>   

2。利用中括号“[]”来查找集合字符
(1)查找“衬衫”与“短”这两个字符串,“[]”中无论有几个字符,都仅代表一个字符,也就是说“(io)表示匹配“我”或者“o”

。   
 <代码> [root@localhost ~] # grep - n ' sh (io) rt/opt/httpd . conf  
  

 shell脚本之正则表达式(一)——grep, egrep

  

(2)查找重复单个单词字符

  
 <代码> [root@localhost ~] # grep - n“oo”/opt/httpd . conf  
  

 shell脚本之正则表达式(一)——grep, egrep

  

(3)通过集合字符的反向选择“[^]”来实现查找“oo”前面不是“R”的字符串

  
 <代码> [root@localhost ~] # grep - n ' [^ R] oo/opt/httpd . conf  
  

 shell脚本之正则表达式(一)——grep, egrep

  

(4)查找“oo”前面存在小写或大写字母,其中“a - z”表示小写字母,“a - z”表示大写字母

  
 <代码> [root@localhost ~] # grep - n ' ^ [a - z] oo/opt/httpd。conf//小写字母 
  

 shell脚本之正则表达式(一)——grep, egrep

  
 <代码> [root@localhost ~] # grep - n ' ^ [a - z] oo/opt/httpd。conf//大写字母 
  

 shell脚本之正则表达式(一)——grep, egrep

  

(5)查找包含数字的行

  
 <代码> [root@localhost ~] # grep - n ' [0 - 9] '/opt/httpd . conf  
  

 shell脚本之正则表达式(一)——grep, egrep

  <人力资源/>   <人力资源/>   

3。查找行首“^”与行尾字符“$”
(1)查找以根开头的行

  
 <代码> [root@localhost ~] # grep - n ^根的/etc/passwd  
  

 shell脚本之正则表达式(一)——grep, egrep

  

(2)查找以bash结尾的行

  
 

shell脚本之正则表达式(一)——grep, egrep