Linux---grep

Linux之grep

简单介绍一下grep的用法



grep

命令用于查找文件里符合条件的字符串。

grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据。

作用

作用:文本搜索工具,根据用户指定的“模式(过滤条件)”对目标文本逐行进行匹配检查,打印匹配到的行

模式:由正则表达式的元字符及文本字符所编写出的过滤条件:

语法

Grep [options] [pattern] file
命令 参数 匹配模式 文件

参数作用
-v排除匹配结果(取反)
-n显示匹配行与行号
-i不区分大小写
-c只统计匹配的行数
-E高级正则表达式
–color=auto为grep过滤结果添加颜色
-w只匹配过滤的单词
-o只输出匹配的内容

案例

以 /etc/passwd为例
先将文件重定向到 /opt/pwd.txt

在这里插入图片描述

alias //查看别名
在这里插入图片描述

grep -i “root” pwd.txt -n //加上行号 查找“root"

在这里插入图片描述

grep -i “root” pwd.txt -c //查询和root有关的行数

在这里插入图片描述


使用正则表达式

参数作用
^匹配以什么开头,如^h以h开头
$匹配以什么结尾,如h$以h结尾
^&表示空行
.匹配任意一个且只有一个字符,不能匹配空行
|转义字符,让特殊含义字符现出原型,还原本意
*匹配前一个字符0次或1次
.*匹配所有内容
^.*匹配任意多个字符开头的内容
.*$匹配以任意多个字符结尾的内容
案例

以1开头
以t开头

在这里插入图片描述

以e结尾

在这里插入图片描述

grep “.” 123.txt //任意一个字符

在这里插入图片描述

grep “o*” 123.txt //含o零次或多次

在这里插入图片描述

grep “.*” 123.txt //全部信息匹配
grep “.*e” 123.txt ----贪婪匹配

在这里插入图片描述

+号:表示匹配前一个字符1次或多次,必须使用grep -E 扩展正则

grep -E “o+” 123.txt//匹配含o的行

在这里插入图片描述
?号:表示匹配前一个字符0次或1次,必须使用grep -E 扩展正则

grep -E “a?” 123.txt//匹配含a的行

在这里插入图片描述

|号:表示或者的意思,必须使用grep -E 扩展正则

grep -E “o|e” 123.txt //查找o或者e的内容

在这里插入图片描述

()号:表示将一个或多个字符捆绑在一起,当做一个整体使用

grep -E “g(oo|la)d” 123.txt //查找good和glad的行

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值