Linux grep命令详解

grep,擅长单纯的查找或匹配文本内容;

grep就是那种可以随时在终端直接去搜索,想要在这个输出里面的一些关键内容!!!

grep来自于英文词组“global search regular expression and print out the line”的缩写,意思是用于全面搜索的正则表达式,并将结果输出。

grep 查找文件里符合条件的字符串,常与管道符|catps一起使用;主要用于查找文件中符合条件的字符串、统计文件中符合条件的字符串行数、grep 不显示自身进程

基本命令格式:grep [option] pattern files
管道命令格式 rpm |grep "root"
grep是独立命令
| 是管道命令
在管道命令格式下如何去用正则表达式去查找指定文本?
rpm |grep "^[a-z]",这就是一个最简单的查找以字母开头的正则表达式。
 

grep参数表

-i

忽略大小写

 -a或--text不要忽略二进制的数据。
-A<显示列数>除了显示符合范本样式的那一列之外,并显示该列之后的内容,eg:-A5
-B<显示列数>除了显示符合范本样式的那一列之外,并显示该列之前的内容,eg:-B5
-C<显示行数>除了显示符合范本样式的那一列之外,并显示该列之前后的内容,eg:-C5

-c

只输出匹配行的数量

-l

只列出符合匹配的文件名,不列出具体的匹配行

-L

只列出不符合匹配的文件名,不列出具体的匹配行

-n

列出所有的匹配行,显示行号

-h

查询多文件时不显示文件名

-s

不显示不存在、没有匹配文本的错误信息

-v

显示不包含匹配文本的所有行

-w

匹配整词

-x

匹配整行

-r

递归搜索

-q

禁止输出任何结果,已退出状态表示搜索是否成功

-b

打印匹配行距文件头部的偏移量,以字节为单位

-o

与-b结合使用,打印匹配的词据文件头部的偏移量,以字节为单位

只显示匹配pattern部分

-F

匹配固定字符串的内容

-E

支持扩展的正则表达式

注意:

-E可以用egrep代替

grep还可以使用正则表达式去查询文件,在管道格式下也是可以用正则表达式的;其他更多的关于正则表达式的知识点可以去百度搜索一下。

< : 从匹配正则表达式的行开始

> : 到匹配正则表达式的行结束

\ :用来屏蔽一个元字符的特殊含义,使其作为单纯的一个字符

* :匹配“*”前面的字符,匹配0个或无数个

. :单个字符,匹配任意一个字符

[ - ] : 范围匹配,如[A-C],即A、B、C都符合要求;如[a,b],即只有a和b符合要求

[^ ] : 显示不包括括号中字符串的所有行

[ ] : 单个字符,如[A] 即A 符合要求

-? : 同时显示匹配行的上下?行

^ : 匹配正则表达式的以“某字符串”开头的行

$ : 匹配正则表达式的以“某字符串”结尾的行
[:alnum:] 字母数字集 “a-z A-Z 0-9”
[:alpha:] 字母集合 “a-z A-Z”
[:blank:] 空格或制表键
[:cntrl:] 任何控制字符
[:digit:] 数字集合 “0-9”
[:graph:] 任何可视字符(无空格)
[:lower:] 小写字母 “a-z”
[:print:] 非控制字符
[:punct:] 标点字符
[:space:] 空格
[:upper:] 大写字母 “A-Z”
[:xdigit:] 十六进制数字 “0-9 a-f A-F”

下面的代码块里面是作者在虚拟机的输出结果,可以对照参数表看一下是什么样子的,例子不是很全,可以自己去试验一下。

[root@localhost shellec]# grep -l  "root" /exercise/shellec/text.txt
/exercise/shellec/text.txt
[root@localhost shellec]# grep -r -l "root" /exercise/shellec/text.txt
/exercise/shellec/text.txt
[root@localhost shellec]# grep -r -n  "root" /exercise/shellec/
/exercise/shellec/text.txt:2:root 
[root@localhost shellec]# grep -r -c  "root" /exercise/shellec/
/exercise/shellec/text.txt:1
/exercise/shellec/end:0


 

  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

sky wide

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值