Skip to content

Menu
Menu

grep

Posted on 2021年11月19日2022年7月5日 by zhezimi

grep过滤器在文件中搜索特定的字符模式,并显示包含该模式的所有行。在文件中搜索的模式被称为正则表达式(grep代表正则表达式的全局搜索和打印)。

语法:

grep [options] pattern [files]

常规选项:

  • -c :只打印匹配模式的行数
  • -h:只显示匹配的行,不显示文件名。
  • -i:忽略,大小写匹配
  • -l:只显示文件名列表。
  • -n:显示匹配的行及其行号。
  • -v:打印出所有不匹配的行
  • -e exp:指定带该选项的表达式。可多次使用。
  • -f file:从文件中获取模式,每行一个。
  • -E:将模式视为扩展正则表达式(ERE)
  • -R:递归搜索(也可以用-r)
  • -w:匹配整个单词
  • -o:只打印匹配行的匹配部分,每个这样的部分在单独的输出行。
  • -A n:在结果后打印查询的行和n行。
  • -B n:输出搜索行和结果前n行。
  • -C n:打印搜索的行和在结果之前的n行。
  • –include:包含某些文件
  • exclude:排除某些文件

案例:

[zhangsan@iZ2ze9v82ax0ox0j12ahfhZ tmp]# cat student.txt
zhangsan 男 20
lisi 男 19
wangwu 男 21
zhaoliu 男 18
xiaogang 男 20
xiaohong 女 19
xiaoming 女 22
majun 男 19
wugang 男 20

1:查看里面是否有包含lisi的学生

[root@iZ2ze9v82ax0ox0j12ahfhZ tmp]# grep lisi student.txt
lisi 男 19

2:查看lisi的数据是在第几行

[root@iZ2ze9v82ax0ox0j12ahfhZ tmp]# grep -c lisi student.txt
1

3:查看名字中包含字母o的学生

[zhangsan@iZ2ze9v82ax0ox0j12ahfhZ tmp]# grep -e ‘.*o*.’ student.txt
zhaoliu 男 18
xiaogang 男 20
xiaohong 女 19
xiaoming 女 22

4:查出哪几个文件的内容包含有zhangsan

[zhangsan@iZ2ze9v82ax0ox0j12ahfhZ tmp]# grep -l zhangsan student.txt testscript.txt
student.txt

5:使用grep匹配多个模式

grep -e “pattern1” -e “pattern2”

6:查出某个目录下面的包含有model内容的php文件和html文件

[zhangsan@iZ2ze9v82ax0ox0j12ahfhZ tmp]# grep ‘model’ -rl /www/wwwroot/blog/ –include *.{php,html}

7:查出某个目录下面的包含有model内容的文件,排除掉php文件和html

[zhangsan@iZ2ze9v82ax0ox0j12ahfhZ tmp]# grep ‘model’ -rl /www/wwwroot/blog/ –exclude *.{php,html}

8:打印出所有不匹配的行

[zhangsan@iZ2ze9v82ax0ox0j12ahfhZ tmp]# grep -v zhangsan student.txt
lisi 男 19
wangwu 男 21
zhaoliu 男 18
xiaogang 男 20
xiaohong 女 19
xiaoming 女 22
majun 男 19
wugang 男 20

参考资料:

《Linux Shell脚本攻略(第3版)》

https://www.geeksforgeeks.org/grep-command-in-unixlinux/

相关文章

  • 排查网络故障常用命令

  • Linux 性能问题排查思路

  • 网络I/O模型

  • 《shell脚本攻略》笔记

  • vim常规使用

发表评论 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注

近期文章

  • 排查网络故障常用命令
  • PHP-FPM异常问题
  • RabbitMQ 1:介绍
  • 观察者模式
  • 装饰者模式

近期评论

没有评论可显示。

分类

  • cdn
  • css
  • docker
  • git
  • http
  • javascript
  • linux
  • mysql
  • nginx
  • php
  • RabbitMQ
  • 代码规范
  • 性能
  • 正则表达式
  • 网络协议
  • 设计模式
© 2025 | Powered by Minimalist Blog WordPress Theme