Linux实用细节命令2,grep与正则表达式(Regular Expression)

img

1.基本正则

num符号实际意思
1^首字符
2$尾字符
3[集合]集合内的单个字符
4[^集合]集合内不能有单个字符
5.任意单个字符
6*前一个字符的任意次
7{n,m}前一个字符n到m次
8{n,}前一个字符至少n次
9{n}前一个字符n次

Example:

  • grep root /etc/passwd
  • grep ^root /etc/passwd
  • grep root$ /etc/passwd
  • grep . /etc/passwd
  • grep r.*t /etc/passwd
  • grep “[abc]” /etc/passwd
  • grep “[^ab]” /etc/passwd
  • grep “[0-9]*” /etc/passwd
  • grep “[0-9]{3,4}” /etc/passwd
  • grep “[0-9]{3}” /etc/passwd

在这里插入图片描述

2.扩展正则

num符号实际意思
1+至少1次以上
2?前面的字符0或1次
3()组合,类似于""
4|保留
5{n,m}前一个字符n到m次
6{n,}前一个字符至少n次
7{n}前一个字符n次

Example:

  • grep -E “0{2,3}” /etc/passwd
  • grep -E “[0-8]+” /etc/passwd
  • grep -E “s?bin” /etc/passwd
  • grep -E “(root|daemon)” /etc/passwd
  • echo “ababab”| grep ab
  • echo “ababab”| grep -E “(ab){2}”

-E:表示使用扩展正则

3.Perl正则

num符号实际意思
1\b匹配单词边界
2\B匹配非单词边界
3\w匹配字符数字下划线
4\W和\w相反
5\s匹配空白
6\d匹配数字
7\d+匹配多个数字
8\D非数字

Example:

  • grep -P ”\broot\b” /etc/passwd
  • grep -P ”\w” /etc/passwd
  • grep -P ”\s /etc/passwd

-P:表示使用Perl正则

4.见多识广

  • /[1-9][0-9]*/
  • /[0-9]{1,2}/
  • exp1(?=exp2):查找 exp2 前面的 exp1
  • /^Chapter [1-9][0-9]{0,1}$/
  • /ter\b/
  • /[1-9][0-9]{0,1}/

5.grep 参数

num参数实际意思
1-i忽略大小写
2-v取反
3-w匹配单词
4-q不显示到屏幕
5-E扩展正则
6-PPerl正则
7-c只输出匹配行的数量
8-n显示行号
9-l只列出符合匹配的文件名,不列出行
10-h查询多文件不显示文件名
11-s不显示不存在,错误信息不显示
12-x匹配整行
13-r递归搜索
14-bo打印匹配行距文件头部的偏移量,以字节为单位
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

屯门山鸡叫我小鸡

加油

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值