grep工具使用(正则表达式和元字符)

一. grep:文本过滤工具 正则表达式引擎基于用户指定的“模式”,对目标文件逐行进行匹配检查,打印匹配到的行,默认打印到终端窗口
模式:
① 正则表达式元字符编写出来的过滤条件
正则表达式:由一类特殊的字符以及文本字符所编写的模式,并不代表字面含义,表达控制或者通配的功能正则表达式引擎:
grep [OPTIONS] PATTERN [FILE…] PATTERN 模式
grep [OPTIONS] [-e PATTERN | -f FILE] [FILE…] 可以把模式写到一个文件中通过 -f 读 取,然后对 file进行过滤
② 元字符: [[:space:]]

在正则表达式中:
–color=auto:d对匹配到的文本着色后高亮显示
-o:仅显示匹配到的字符串本身;
-v, --invert-match:显示不能被模式匹配到的行;
-E:支持使用扩展的正则表达式元字符;
-q, --quiet, --silent:静默模式,即不输出任何信息;
-n,显示行号 -A #:after, 后#行 -B #:before,前#行
基本正则表达式元字符:{字符匹配,匹配次数,位置锚定,分组及引用}
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
eg:
显示etc/passwd文件中不以/bin/bash结尾的行
在这里插入图片描述分组及应用
():将一个或多个字符捆绑在一起,当作一个整体进行处理; (xy)*ab 命令行中括号有特殊意义所以用转义符\ Note:分组括号中的模式匹配 到的内容会被正则表达式引擎自动记录于内部的变量中,这些变量为: \1:模式从左侧起,第一个左括号以及与之匹配的右括号之间的模式所匹配到的字符; \2:模式从左侧起,第二个左括号以及与之匹配的右括号之间的模式所匹配到的字符; \3. … 括号可以嵌套不能交叉
找到前后一致的单词例如同事love 或者同是like l…e 如果grep “l…e.l…e" loves.txt 发现四句都可以出现要求前后一样的 ~]# grep "(l…e).\1” lovers.txt 后向引用:引用前面的分组括号中的模式所匹配到的字符; Grep “^r…t.r…t" /etc/passwd 这样前后可能会不一致 一个roo 一个r/ft Grep "^\ (r…t).\1” /etc/passwd
在这里插入图片描述
查找ifconfig中的IP 地址
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值