浅谈正则表达式

浅谈正则表达式

grep命令 文本过滤
例子: grep root /etc/passwd //挑选root出来

-m # 匹配#次后停止
-v显示不被pattern匹配到的行
-I 忽略字符大小写
-n显示匹配的行号
-c统计匹配的行数
-o 仅显示匹配到的字符串 静默模式
-A #after ,后#行
输出任何信息 after, 后#行
-w 匹配整个单词
-E 使用ERE
-v 所有不包含的

-F 使用ERE 相当于fgrep,不支持正则表达式
BRE(基础正则表达式)只承认的元字符有^$.[]其他字符识别为普通字符:()
ERE(扩展正则表达式)则添加了(){}?+| 等
只有在用反斜杠“”进行转义的情况下,字符(){} 才会在BRE被当作元字符处理,而ERE中,任何元符号前面加上反斜杠反而会使其被当作普通字符来处理。

^word搜索以word开头的内容 // grep “^r” /etc/passwd

$ word$搜索以word结尾的内容 // gerp “nologin $” /etc/passwd

" ^ $ " 代表的是空行 // grep -n “^$” 1.txt //n 代表输出序号

. 代表且只能代表任意一个字符(不匹配空行)//grep “.t” passwd

\ 转义字符,让有特殊含义的字符脱掉马甲,现出原形,如 \ .只表示小数点

*重复之前的字符或文本0个或多个,之前的文本或字符连续0次或多次

( ^. * ) 以任意多个字符串开头,.*尽可能多,有多少算多少,贪婪性

// grep “^.*o” 1.txt   //o之前的都出现

[abc][0-9][.,/] 匹配字符集合内的任意一个字符a或b或c:[a-z]匹配所有小写字母;表示一个整体,内藏无限可能;[abc]找a或b或c可以写成[a-c]
// grep " ^ [dps] " passwd //匹配以dps任意一个字母开头的句子

[ ^ abc] 匹配不包含^后的任意字符a或b或c,是对[abc]的取反,且与 ^含义不同

a\ {n,m\ } 重复前面a字符n或m次(如果用egrep或sed -r可去掉斜线)
//grep “a{2,3}” 1.txt

a{n,} 重复前面a字符至少n次,如果用egrep或sed -r可去掉斜线

a{n} 重复前面a字符n次,如果用egrep或sed -r可去掉斜线

在这里插入图片描述
grep -E //等于支持正则,不需要再加\

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值