JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

linux 正则表达式(2)-扩展正则表达式

wys521 2025-05-11 19:08:02 精选教程 10 ℃ 0 评论

扩展正则表达式

  1. + 匹配前一个字符1次或多次。
  2. [:/]+ 匹配括号内的 : 或 / 字符1次或多次。
  3. ? 匹配前一个字符0次或1次。
  4. | 表示或者,即同时过滤多个字符串。
  5. () 分组过滤被括起来的东西表示一个整体,另外()的内容可以被后面的\n引用,n为数字,表示引用第几个括号的内容。
  6. \n 引用前面()小括号里的内容,例如:(aa)\1,匹配aaaa。
  7. a{n,m} 匹配前一个字符最少n次,最多m次。
  8. a{n,} 匹配前一个字符最少n次。
  9. a{n} 匹配前一个字符正好n次。
  10. a{,m} 匹配前一个字符最多m次。

grep 仅支持基础正则表达式,扩展表达式需要用egrep

使用案例

  1. 查找指定内容
# 查找含有 network 或者 ip 的行。
egrep 'network|ip' 123.log

2. 查找重复出现的内容

# 查找含有 255.255. 内容的行。 
ifconfig ens192 | egrep '(255.)\1' 
# \1 表示小括号的内容重复出现一般,即255.255.

3.过滤/etc/passwd中至少含有1个0字符串的行。

egrep '0+' /etc/passwd

3. 过滤/etc/passwd中匹配0字符1次到3次的行。

egrep '0{1,3}' /etc/passwd

5. 过滤/etc/shadow中匹配含有连续多个冒号或斜线的行。

egrep '[:\]+' /etc/shadow 

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表