Linux三剑客☞grep

对于很多人来说,grep命令都很熟悉,我接触的第一个命令就是:ps -ef | grep tomcat。

当时从开发那里学到这个命令的时候不知什么意思,反正就是查找对应的进程,然后启动或杀死服务。

今天我们来深入了解一下。

命令语法

grep提供两种方式:

  • grep [option] [pattern] testfile
  • stdout | grep [option] [pattern]

一种是对某个文件进行查找;

一种是从标准化输出中查找指定字符,如我们上面说到的命令。

其中:

option :参数选项

pattern :为查找的字符串或者正则表达式

具体的参数选项:

-i 搜索时忽略大小写
-n 显示行号
-o 只显示被匹配的关键字,不会打印匹配的整行内容
-r 递归搜索
-v 不显示匹配行信息
-q 静默模式,不输出任何信息,在shell脚本中,可以通过echo $?查看是否匹配到,0表示匹配到,1表示没有匹配到
-E 使用扩展正则表达式

grep -i "test" testfile         从文本文件中搜索test 或 TEST字符串

grep -n -i "test" filename  显示对应的行号

grep -o -i "test" filename  只显示test字符串,不显示该行的其他内容

grep -r "test" AAA             查询AAA目录下所有文件中包含test的行

grep 结合正则表达式使用:

grep "^love" testfile   查询该文件下以love 开头的行

具体关于正则的用法,我也没大用到,回来再补充吧

 

原文地址:https://www.cnblogs.com/test123/p/13073930.html