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"

匹配控制选项参数

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

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

-f 的栗子

-i 的栗子

-v 的栗子

-w 的栗子

-x 的栗子

一般输出控制选

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

目前没发现有什么用

-m 的栗子

-c 的栗子

-l 的栗子

ls 输出的内容就是标准输入

输出控制参数讲解

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

-n 的栗子

-H 的栗子

因为结果都来源于 ls 的标准输入,所以显示标准输入,如果是来源于某个文件则会显示文件名

-o 的栗子

上下文线控制选项

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

备注

感觉就是为了好看而已

-A 的栗子

-B 的栗子

-C 的栗子

文件和目录选项

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

巨常用的语法

重点

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

查找指定进程
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

待补充

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小菠萝测试笔记

来支持下测试小锅锅

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值