grep命令的全称是全局正则表达式打印,它是Linux中功能最强大且最常用的命令之一。

grep在一个或多个输入文件中搜索与指定模式匹配的行,并将匹配行写入标准输出。如果未指定文件,grep则从标准输入读取内容。

在本教程中,我们将向您展示如何使用grep标准输出进行过滤,排除 。这其中包括排除不匹配的行,排除目录和文件等。

grep 排除目录和文件

有时,当使用-r-R选项执行递归搜索目录或者文件时,您可能希望从搜索结果中排除指定的目录。

-r-R选项之间的主要区别在于,当使用大写字母R运行grep命令时,它将追踪所有符号链接文件。

grep命令的--exclude-dir选项允许排除多个文件与目录。排除目录的路径是相对于搜索的起始目录。

例如命令grep -R --exclude-dir=pki myfreax /etc将会在/etc目录中搜索包含字符串myfreax的文件,但不包括/etc/pki目录。

grep -R --exclude-dir=pki myfreax /etc

grep 排除多个文件与目录

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

在使用通配符匹配时,您可以使用grep命令--exclude选项并指定的GLOB来排除不需要结果。

例如命令grep -rl --exclude=*.{png,jpg} myfreax *将会在当前工作目录搜索包含字符串myfreax的文件,但不包括以.png.jpg目录结尾的文件。

命令grep -r --exclude-dir={proc,boot,sys} gnu /在你的Linux系统的根目录/ 开始搜索包含字符串GNU的文件,并且排除procbootsys目录

grep -rl --exclude=*.{png,jpg} myfreax *

grep -r --exclude-dir={proc,boot,sys} gnu /
Linux grep排除过滤输出 | myfreax
grep是一个强大的命令行工具,用于在一个或多个输入文件中搜索与正则表达式匹配的行并将每个匹配的行写入到标准输出