Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >linux中grep如何排除过滤输出总结

linux中grep如何排除过滤输出总结

作者头像
入门笔记
发布于 2022-06-02 08:07:18
发布于 2022-06-02 08:07:18
2.5K00
代码可运行
举报
文章被收录于专栏:入门小站入门小站
运行总次数:0
代码可运行

grep 是一种强大的命令行工具,用于在一个或多个输入文件中搜索与正则表达式匹配的行并将每个匹配的行写入标准输出。

排除单词和模式

要仅显示与搜索模式不匹配的行,请使用-v( 或--invert-match) 选项。

例如,要打印不包含nologin行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> grep -wv nologin /etc/passwd
root:x:0:0:root:/root:/bin/bash
git:x:994:994:git daemon user:/:/usr/bin/git-shell
myfreax:x:1000:1000:myfreax:/home/myfreax:/bin/bash

-w选项告诉grep仅返回指定字符串是整个单词(由非单词字符括起来)的那些行。

默认情况下,grep区分大小写。这意味着大写和小写被视为不同的字符。要在搜索时忽略大小写,请grep使用该-i选项进行调用。

如果搜索字符串包含空格,则需要将其括在单引号或双引号中。

要指定两个或多个搜索模式,请使用以下-e选项:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> grep -wv -e nologin -e bash /etc/passwd

你可以-e根据需要多次使用该选项。

排除多个搜索模式的另一个选项是使用 OR 运算符| 连接模式。

以下示例打印不包含字符串nologinbash 的行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> grep -wv 'nologin\|bash' /etc/passwd

GNUgrep支持三种正则表达式语法,Basic、Extended 和 Perl-compatible。默认情况下,grep将模式解释为基本正则表达式,其中元字符(例如)|失去其特殊含义,你必须使用它们的反斜杠版本。

如果要使用选项-E扩展正则表达式,则|不应转义运算符,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> grep -Ewv 'nologin|bash' /etc/passwd

你可以指定不同的可能匹配项,这些匹配项可以是文字字符串或表达式集。在以下示例中,字符串games出现在行首的行被排除在外:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> grep -v "^games" file.txt

命令的输出可以grep通过管道过滤,只有匹配给定模式的行才会打印在终端上。

例如,要打印出系统上所有正在运行的进程,除了以用户root身份运行的进程,你可以过滤ps 命令的输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> ps -ef | grep -wv root

排除目录和文件

有时,当使用-r-R选项执行递归搜索时,你可能希望从搜索结果中排除特定目录。

-r-R选项之间的主要区别在于,当使用大写字母R调用 grep时,它将遵循所有符号链接

要从搜索中排除目录,请使用--exclude-dir选项。排除目录的路径是相对于搜索目录的。

这是一个示例,显示如何myfreax在内的所有文件中搜索字符串/etc,不包括/etc/pki目录:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> grep -R --exclude-dir=pki myfreax /etc

要排除多个目录,请将排除的目录括在大括号中,并用逗号分隔,不要有空格。

例如,要查找包含字符串GNU在你的Linux系统排除的文件procbootsys你要运行的目录:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> grep -r --exclude-dir={proc,boot,sys} gnu /

使用通配符匹配时,你可以排除基本名称与--exclude选项中指定的 GLOB 匹配的文件。

在下面的示例中,我们在当前工作目录中的所有文件中搜索字符串rumenz,不包括以.pngand.jpg目录结尾的文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> grep -rl --exclude=*.{png,jpg} rumenz *

相关文章

linux之grep使用技巧

linux中grep命令的12个实际例子

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-10-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 入门小站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Shell 编程(四):文本三剑客之 Grep
grep grep语法格式 方法 命令 方法一 grep [option] [pattern] [ file1,file2...] 方法二 command | grep [option] [pattern] 选项 选项 含义 -v 不显示匹配行信息 -i 搜索时忽略大小写 -n 显示行号 -r 递归搜索 -E 支持扩展正则表达式 -e 不支持扩展正则表达式 -F 不按正则表达式匹配,按照字符串字面意思匹配 -c 只输出匹配行的数量,不显示具体内容 -w 匹配整词 -x 匹配整行 -l 只列出匹配的文件名,
陈大剩博客
2023/02/17
3070
Linux常用命令03 - grep
grep 命令代表“全局正则表达式 print” ,它是 Linux 中最强大和最常用的命令之一。
叉叉敌
2020/04/21
2.2K0
文本过滤之grep,egreo及fgrep 三剑客及正则表达式
关于grep,egrep以及fgrep,是我们linux服务器中常用的文本过滤工具。掌握好这三个工具并结合正则表达式,对我们日后的运维工作有很大的帮助。 1.grep,egrep,及fgrep区别。 三者的主要区别在于对正则表达式的支持不同。首先,grep支持的是标准正则表达式;而egrep及grep -e则支持的是扩展正则表达式;至于fgrep,是不支持正则表达式的,在本文也就不再赘述。但是其在速度方面,相对前面两者,就比较快了,在精确匹配是就很好用。 2.支持的常用选项 选项作用--color=
小小科
2018/05/02
1K0
grep工具 原
在最简单的情况下,一个正则表达式看上去就是一个普通的查找串。如:正则表达式"test"中没有包含任何元字符,它可以匹配"test"和"007test007"等字符串,但是不能匹配"Test"。
阿dai学长
2019/04/03
1.4K0
linux学习第二十六篇:正则介绍,grep,sed,awk命令
正则介绍 正则就是一串有规律的字符串,掌握好正则对于编写shell脚本有很大帮助,各种编程语言中都有正则,原理是一样的。正则表达式是这样解释的:它是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。许多程序设计语言都支持利用正则表达式进行字符串操作。对于系统管理员来讲,正则表达式贯穿在我们的日常运维工作中,无论是查找某个文档,抑或查询某个日志文件分析其内容,都会用到正则表达式。其实正则表达式,只是一
用户1215343
2018/02/05
4.2K0
linux学习第二十六篇:正则介绍,grep,sed,awk命令
linux中grep如何排除过滤输出总结
grep 是一种强大的命令行工具,用于在一个或多个输入文件中搜索与正则表达式匹配的行并将每个匹配的行写入标准输出。 排除单词和模式 要仅显示与搜索模式不匹配的行,请使用-v( 或--invert-match) 选项。 例如,要打印不包含nologin行: > grep -wv nologin /etc/passwdroot:x:0:0:root:/root:/bin/bashgit:x:994:994:git daemon user:/:/usr/bin/git-shellrumenz:x:1000:100
玖柒的小窝
2021/10/21
3.2K0
Linux三剑客之grep命令详解及相关实例
grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
菲宇
2022/12/02
1.8K0
9.1 正则介绍_grep(上)
正则介绍 正则就是一串有规律的字符串 掌握好正则对编写shell脚本帮助交大 各种编程语言中都有正则,原理是一样的 grep/egrep、sed、awk grep命令 grep命令,它是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。 格式:grep [-cinvABC] 'word' filename -c 行数 -i 不区分大小写 -n 显示行号 -v 取反 -r 遍历所有子目录 -A 后面跟数字,过滤出符合要求的行以及 下面 n行 -B
运维小白
2018/02/06
5860
linux基础命令介绍五:文本过滤 grep
grep按行检索输入的每一行,如果输入行包含模式PATTERN,则输出这一行。这里的PATTERN是正则表达式(参考前一篇,本文将结合grep一同举例)。
用户5030870
2019/04/11
1.6K0
Shell文本处理三剑客之grep
除了grep外,还有egrep、fgrep。egrep是grep的扩展,相当于grep -E。fgrep相当于grep -f,用的少。
菲宇
2022/12/02
4930
Linux操作系统下 chkconfig 命令详解
不知道大家是否有需要在一堆的源码文件里找某个特定的文本的需求,笔者就经常的需要。特别是在修改主题或者插件的时候这个需求特别的强烈,在Windows下一般都是锁定某个文件借助文本编辑器搜索来解决的,很明显这个方式最笨了,效率也是最低的,在Linux下这样的话很明显是不科学的,其实在Linux下命令行是无所不能的,像这种需求在Linux下实现基本就是命令行就可以应对了,今天笔者就来分享一下使用grep命令查找文件中的特定文本,最神奇的是可以说多个文件甚至是整个目录下的所有文件。
用户1685462
2021/08/31
1.3K0
文本处理三剑客之grep
对于各种linux的发烧友来说,想玩转linux,就必须对linux的文本处理的三剑客有所了解直到掌握,今天就来小谈一下三剑客之一grep
公众号: 云原生生态圈
2021/11/15
4210
linux实战(一)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/q383965374/article/details/50394765
拓荒者
2019/06/15
2.5K0
grep与egrep
个人觉得egrep比较好用,感觉改良了grep的一些不可以直接操作的东西,但是总体来说还是没太大区别的,都是一个过滤工具。
拓荒者
2019/03/15
1.3K0
grep与egrep
性能工具之linux三剑客awk、grep、sed详解
linux 有很多工具可以做文本处理,例如:sort, cut, split, join, paste, comm, uniq, column, rev, tac, tr, nl, pr, head, tail.....,学习 linux 文本处理的懒惰方式(不是最好的方法)可能是:只学习grep,sed和awk。
高楼Zee
2019/07/17
4.3K0
性能工具之linux三剑客awk、grep、sed详解
学习笔记0409----正则三剑客之grep
扩展:history 1 | { read x cmd; echo “$cmd”; }
嘻哈记
2022/01/11
6660
学习笔记0409----正则三剑客之grep
Linux 三板斧之一:grep
grep 是 Linux 三板斧之一,是一种强大的文本搜索工具。它可以快速搜索文件的内容,寻找包含某个字符串或正则表达式的文本行。grep 的基本语法是:
披头
2023/08/17
3530
Linux 三板斧之一:grep
三大文本处理工具grep、sed及awk
  grep能够接受正则表达式,生成各种格式的输出。除此之外,它还有大量有趣的选项。
用户1173509
2022/05/09
7410
三大文本处理工具grep、sed及awk
《快学BigData》--Linux grep 命令详解(12)
-E, --extended-regexp PATTERN 是一个可扩展的正则表达式(缩写为 ERE)
小徐
2023/03/06
6920
《快学BigData》--Linux grep 命令详解(12)
Linux 之 grep 命令
原文链接:https://rumenz.com/rumenbiji/linux-grep.html
入门笔记
2021/07/25
7.5K0
相关推荐
Shell 编程(四):文本三剑客之 Grep
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验