Linux正则表达式

  • 特殊符号
    ’ ’ 单引号,所见即所得,里面的内容会被原封不动地输出
    " " 双引号,里面的特殊符号会被解析运行
    ` ` 反引号, 相当于 $() 先运行()里面的命令,把结果留下来
    > 重定向符号,先清空文件,然后追加文件的最后
    >> 追加重定向,标准化输出,把内容追加到文件最后
    2> 错误重定向, 很少单独用,先清空,只有报错的信息,命令错了,才会通过这个漏斗进入文件中
    2>> 错误追加重定向 ,只追加,不会清空
    ~ 当前用户的家目录 root用户:/root 普通用户: /home/用户名
    ! vi中表示强制,find或awk中表示取反。还有就是查找并运行历史命令,如!ask, linux会找到包含awk的命令,最近的一条执行,相对于history |grep awk,区别是只找出来并没有运行

    在这里插入图片描述
    # 注释或表示root用户的命令提示符
    在这里插入图片描述
    $ 取出变量的内容 awk中 $取某一列的内容。或表示普通用户的命令提示符
    * 任何东西
    \ 转义字符
    && 前一个命令执行成功然后再执行后一个命令
    在这里插入图片描述
    || 前一个命令执行失败了再执行后一个命令, 场景:如果文件不存在创建文件,如果目录不存在创建目录
    在这里插入图片描述

  • 通配符
    用来查找文件的,以.txt结尾的文件, *.txt *.log

    * 所有,任意
    找出文件名包含tt的文件
    在这里插入图片描述
    {} 生成序列
    在这里插入图片描述
    通过{}进程备份
    在这里插入图片描述

  • 正则表达式
    常见的特殊表达符号表示一些含义
    提供效率,简单
    在linux中支持正则表达式:awk,grep,sed
    使用时注意事项
    按照行进行处理
    给grep和egrep配置别名
    在这里插入图片描述

  • 正则表达式和通配符的区别
    通配符—用来匹配查找文件名, 大部分命令都可以使用,*.txt, *.log,
    正则-----在文件中匹配查找内容,grep,sed,awk支持

  • 正则表达式分类与环境准备
    基础正则
    ^
    $
    . 任何一个,任意一个字符,
    * 前一个符号,连续出现
    []
    [^]
    basic regular expression BRE grep, sed , awk
    扩展正则
    extended regular expression ERE grep ,-E/egrep, sed -r, awk
    | 或
    {}
    ()
    +

    例题:
    环境准备
    在这里插入图片描述

  • . (点) 任意一个字符,每次只能找到一个符号,但是可以找很多此,不包含空行

    由于正常表达式是一行一行处理的,
    .点每次匹配了一个后就是下一行了

-o 表示grep的执行过程, 正则每次匹配到了什么
在这里插入图片描述
找出文件中以点结尾的句子

\n 回车换行

  • * 前一个字符连续出现了0次或1次以上 >=0
    在这里插入图片描述
    为何会取出000,不是00和0
    因为正则表达式在表示连续出现是出现贪婪性, 有多少匹配多少,
    为何使用‘0*’ ,会把整个文件的内容显示出来
    A*
    表示连续出现了0次A,什么也没有 相当于‘ ‘,会把整个文件内容都显示出来,
    A连续出现了1次以上AAAA
  • .* 所有字符,所有符号,所有
    *表示前一个符号连续出现0次或1次以上,而前一个符号是.,也就是任意一个符号,
    在这里插入图片描述
    上例中,我想要找以第一个o为结尾的句子
    可是匹配到了该句的最后一个o,因为正则表达式表示连续出现或所有时,表现为贪婪性,有多少匹配多少。
    找出文件中以m开头的行并以m结尾的行
    在这里插入图片描述
  • []
    [abc] 相当于是一个字符, 找出包含a或b或c的行,
    在这里插入图片描述
    处理过程
    在这里插入图片描述
    [a-z]
    [A-Z]
    [0-9]
    [a-zA-Z0-9]
    [m,n,o]
    [^abc] 除了a或b或c,其他都要
    在这里插入图片描述
    在这里插入图片描述
  • + 表示前一个符号连续出现1次或多次
    把文件中连续出现的小写字母取出来
    连着的字母,连着的数字,一般与[]配合,
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • | 或者
    在这里插入图片描述
    [] 与 | 的区别
    都可以表示或者,一个是基础正则,一个是扩展正则
    [] 表示单个字符或者
    | 单个字符的或者多个字符都可以,单词等
  • ()
    1 ,括号中的内容相当于是一个整体,一个符号
    有括号先算括号里面的
    在这里插入图片描述
    2 ,后向引用(反向引用)
    sed,把你想要的内容通过()保护起来,然后再使用他
    在这里插入图片描述
    在这里插入图片描述
  • {}
    o{n, m} 前一个字符连续出现了至少n次,最多m次
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    连续出现的数字
    在这里插入图片描述
  • ?表示前一个字符连续出现0次或1次
    在这里插入图片描述
    总结
正则符号意义
*>=0
+>=1
?0或 1
{n,m}>=n <=m
{n}==n
.任意一个
[abc]一个
[^abc]排除
|
()后向引用
^
$
.*所有
^$空行,什么也没有

命令符号

支持基础正则基础+扩展
grepegrep ==grep -E
sedsed -r
awkawk
  • 查询帮助信息
    man grep
    info grep
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值