Linux 三剑客(1)- grep

简介: Linux 三剑客(1)- grep

作用


在文件或标准输入中,通过正则表达式查找对应的内容

 

语法格式


grep [选项]... PATTERN [FILE]...

 

grep的常用选项参数


参数选项 描述
-G 默认值
-F 相当于使用fgrep,但必须用 -F
-E 相当于使用egrep,但必须用 -E
-V 打印 grep 的版本号

 

-E 的栗子

前提

当 grep 想同时过滤多个条件或操作

 

错误写法

默认不支持多条件匹配

ps -ef | grep"java|tomcat"

 

正确写法

ps -ef | grep -E "java|tomcat"

image.png

匹配控制选项参数


参数选项 描述
-e PATTERN 来进行匹配操作
-f 从文件中取得 PATTERN
-i 忽略大小写
-v 反转匹配,选择没有被匹配到的内容
-w 匹配整词,精确地单词,单词的两边必须是非字符符号(即不能是字母数字或下划线)
-x 仅选择与整行完全匹配的匹配项
--line-buffered 有一个文件是动态的,它不断地添加信息到文件的尾部,而你想要输出包含某些信息的行。即持续的grep一个动态的流

-e 的栗子

image.png

当你有多个正则表达式想同时匹配时,可以用 -e,一个 -e 接一个正则表达式,它们是或的关系,不是与的关系

 

-f 的栗子

image.png

-i 的栗子

image.png

-v 的栗子

image.png

-w 的栗子

image.png

-x 的栗子

image.png


一般输出控制选


参数选项 描述
-s 禁止显示错误信息
-q 安静模式,不会有任何输出内容,查找到匹配内容会返回0,未查找到匹配内容就返回非0
-m num 匹配 num 次后停止
-c 匹配成功数量
-l 列出匹配成功结果的文件来源(标准输入或文件名称)
-H 给每一个匹配结果打印来源(标准输入、文件名)

 

-q

目前没发现有什么用

image.png

输出控制参数讲解


参数选项 描述
-b 输出的同时打印字节偏移
-n 输出的同时打印行号
-H 给每一个匹配结果打印来源(标准输入、文件名)
-h 输出是不显示来源(默认)
-o 只显示匹配 PATTERN 的部分

-b 的栗子

image.png


-n 的栗子

image.png


-H 的栗子

image.png


上下文线控制选项


参数选项 描述
-A num 匹配到搜索到的行以及该行下面的num行
-B num 匹配到搜索到的行以及该行上面的num行
-C num 匹配到搜索到的行以及上下各num行

备注

感觉就是为了好看而已

 

-A 的栗子

image.png


文件和目录选项


参数选项 描述
-a 不忽略二进制的数据
-d 当要查找的是目录而非文件时,必须使用这项参数
-r 以递归方式读取每个目录下的所有文件; 这相当于-d recurse选项。

 

-r 的栗子

image.png

巨常用的语法


重点

写的正则表达式最好用 '' 包起来,当碰到需要转义符的时候才会生效

 

查找指定进程

ps -ef | grep java

 

查找指定进程并统计数量

ps -ef | grep -c java

 

从文件中查找关键字

grep src test.txt

 

从文件中查找关键字并输出它的行号

grep -n src test.txt

 

从多个文件中查找关键字

grep src src.txt src1.txt src2.txt

 

从文件中查找关键字后,再从结果中找到指定关键字

cat src.txt | grep -v s | grep -w lib

 

找出文件中的空白行

grep -n ^$ test.txt

 

显示当前目录下面以 .txt 结尾的文件中的所有包含每个字符串至少有4个连续小写字符的字符串的行

grep -n '[a-z]\{4\}' *.txt

 

待补充


相关文章
|
8月前
|
Linux
认识Linux指令之 “find grep” 命令
认识Linux指令之 “find grep” 命令
132 1
认识Linux指令之 “find grep” 命令
|
8月前
|
存储 监控 Linux
性能工具之linux三剑客awk、grep、sed详解
Linux 三剑客 awk,sed和grep 在性能领域广泛用于性能建模、性能监控及性能分析等方面,也是各大互联网公司测试岗高频面试题,中高端测试人员必备技能之一。
172 1
性能工具之linux三剑客awk、grep、sed详解
|
12天前
|
监控 Linux 数据处理
Linux grep技巧 结合awk查询
结合 `grep` 和 `awk`,可以实现灵活、高效的文本处理和数据分析。`grep` 用于快速过滤符合条件的行,`awk` 用于进一步处理和提取数据。这种组合使用在日志分析、数据处理和系统监控等场景中尤为常见。掌握这两者的基本用法和组合技巧,可以大大提升在 Linux 环境下的工作效率。
32 7
|
4月前
|
监控 Linux
linux之grep详解
linux之grep详解
|
4月前
|
存储 Linux Shell
linux查找技巧: find grep xargs
linux查找技巧: find grep xargs
49 13
|
4月前
|
机器学习/深度学习 存储 Linux
linux中强大且常用命令:find、xargs、grep
linux中强大且常用命令:find、xargs、grep
236 9
|
4月前
|
SQL 移动开发 Linux
linux下find、grep命令详解
linux下find、grep命令详解
212 8
|
5月前
|
Unix Linux C语言
在Linux中,grep和egrep命令的区别?
在Linux中,grep和egrep命令的区别?
|
5月前
|
Linux
在Linux中,如何使用grep命令搜索文本?
在Linux中,如何使用grep命令搜索文本?
|
5月前
|
Linux Shell
在Linux中,如何使用grep命令查找文件中的内容?
在Linux中,如何使用grep命令查找文件中的内容?