linux通配符匹配不含有某个字符串,linux 通配符、正则表达式 总结

1、通配符与正则表达式的区别:

首先通配符绝对不是正则表达式

bash shell

本身是不支持正则表达式的,要依靠shell的命令和工具来使用正则表达式,如grep,AWK,sed(文件处理三剑客)

bash

shell本身支持通配符,可以在命令中使用通配符达到某些目的,比如命令ls, cp,mv

,rm等。​​

2、通配符就4个:*, ?, [], [^]。当然还要记住专用字符集合。具体内容在以下博客。

http://blog.sina.com.cn/s/blog_162d7307e0102wnhk.html​

3、正则表达式就是一类字符串处理的表达式。分为基础正则表达式和扩展正则表达式。(以下内容都只使用命令grep来举例学习)

(1)以前总是傻傻分不清find,grep,正则表达式等这些概念用法。现在总结一下。

grep是文本搜索,根据正则表达式去匹配文本,将匹配到的文本打印出来,配合管道命令使用,可以将某个命令执行结构中的需要的内容打印出来,find就是所说的某个命令,所以说find和grep没有什么捆绑关系(……曾经迷迷糊糊的以为find,grep,正则表达式就该是连在一起用的……)

(2)​grep的使用格式。

grep 选项 正则表达式 文件

//这样就是通过正则表达式匹配文件中的文本​

命令 | grep 选项 正则表达式

//这样就是首先执行命令,然后通过grep匹配前面命令执行结果中的一些内容并显示出来​

选项​

​--color=auto: 对匹配到的文本着色显示(grep是按行匹配的);

-v: 显示不能够被pattern匹配到的行;

-i: 忽略字符大小写;

-o: 仅显示匹配到的字符串;

-q: 静默模式,不输出任何信息;

-A #:after, 后#行

-B #: before, 前#行

-C #:context, 前后各#行

-E:使用ERE;

4、正则表达式有基础正则表达式,扩展正则表达式

(1)基础正则表达式。

正则表达式就是要匹配呗,那就涉及到要匹配的字符是什么,匹配的位置在哪里,匹配多少次,还有一个分组(为什么要分组?,怎么分组?上面讲到匹配多少次指的只能是单个字符的如果要一个字符串重复多次就用到分组,要分组就用小括号)接下来会详细介绍。​

(2)扩展正则表达式​。​

grep不能使用扩展正则表达式,要用egrep或grep -E。​

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值