grep


^只匹配行首  中括号表示内反向选择
$只匹配行尾
*一个单字符后紧跟*,匹配0个或多个此单字符
[]匹配[]内字符,可以是一个单字符,也可以是字符序列。可以使用 - 表示[]内字符序列范围,如用[1-5]代替[12345]
\用来屏蔽一个元字符的特殊含义。因为有时在shell中一些元字符有特殊含义。\可以使其失去应有含义。
.匹配任意单字符
pattern\{n\}用来匹配前面pattern出现次数。n为次数
pattern\{n,\}含义同上,但次数最少为n
patter\{n,m\}

含义同上,但pattern出现次数在n与m之间


数字[0-9] 字母[A-Za-z]  小写字母[a-z]  大写字母[A-Z]

 非数字[^0-9]  非字母[^A-Za-z] 非小写字母[^a-z] 非大写字母[^A-Z]


[::alnum] : 数字字符[:digit:] : 数字字符[:punct:] : 标点符号字符
[:alpha:] : 字母字符[:graph:] : 非空格字符

 [:space:] : 空格字符

[:blank:] : 空格与定位字符[:lower:] : 小写字母字符[:upper:] : 大写字母字符
[:cntrl:] : 控制字符[:print:] : 可显示的字符

[:xdigit:] : 16进制数字


example:

数据文件为文件是1.txt  

grep -n  '^aab' 1.txt                                                                                  //行首为 aab

grep -n  '^[^A-Za-z]'  1.txt                                                                        //行首不为 字母

grep -n  '[^a]bb'    1.txt                                                                             // 查bb前一个字符不为a的bb

grep -n '\a'     1.txt                                                                                     //行尾为a

grep -n 'a..b'  1.txt                                                                                     //匹配这样一个字符串 开头为a 结尾为b 长度为4  akmb aabb

grep -n 'a*'   1.txt 或 grep -n 'aa*' 1.txt                                                  //匹配一个或者一个以上全是a的字符串

grep -n 'aaa*' 1.txt                                                                                    //匹配两个以上 全是a的字符串

grep -n 'aaaa*' 1.txt   或者 grep -n 'a\{3\}'                                             //三个及以上  全是a的字符串
grep -n 'a\{1,3\}b'                                                                                      //匹配这样字符串,a出现1-3次 b出现在最后。  ab aab aaab

grep -n 'a*b'  1.txt                                                                                     //匹配所有包含字符a ,字符b  且a在b前面的行  ajljljoihinjnkjnnkoijweoj  ewjojrojkb  





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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值