linux grep?grep命令的参数说明
大家好,感谢邀请,今天来为大家分享一下linux grep的问题,以及和grep命令的参数说明的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
linux系统中的grep命令的"l"参数的详解
-l或--file-with-matches列出文件内容符合指定的范本样式的文件名称。
detail
grep
--------------------------------------------------------------------------------
功能说明:查找文件里符合条件的字符串。
语法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]
补充说明:grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为“-”,则grep指令会从标准输入设备读取数据。
参数:
-a或--text不要忽略二进制的数据。
-A<显示列数>或--after-context=<显示列数>除了显示符合范本样式的那一列之外,并显示该列之后的内容。
-b或--byte-offset在显示符合范本样式的那一列之前,标示出该列第一个字符的位编号。
-B<显示列数>或--before-context=<显示列数>除了显示符合范本样式的那一列之外,并显示该列之前的内容。
-c或--count计算符合范本样式的列数。
-C<显示列数>或--context=<显示列数>或-<显示列数>除了显示符合范本样式的那一列之外,并显示该列之前后的内容。
-d<进行动作>或--directories=<进行动作>当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。
-e<范本样式>或--regexp=<范本样式>指定字符串做为查找文件内容的范本样式。
-E或--extended-regexp将范本样式为延伸的普通表示法来使用。
-f<范本文件>或--file=<范本文件>指定范本文件,其内容含有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每列一个范本样式。
-F或--fixed-regexp将范本样式视为固定字符串的列表。
-G或--basic-regexp将范本样式视为普通的表示法来使用。
-h或--no-filename在显示符合范本样式的那一列之前,不标示该列所属的文件名称。
-H或--with-filename在显示符合范本样式的那一列之前,表示该列所属的文件名称。
-i或--ignore-case忽略字符大小写的差别。
-l或--file-with-matches列出文件内容符合指定的范本样式的文件名称。
-L或--files-without-match列出文件内容不符合指定的范本样式的文件名称。
-n或--line-number在显示符合范本样式的那一列之前,标示出该列的列数编号。
-q或--quiet或--silent不显示任何信息。
-r或--recursive此参数的效果和指定“-d recurse”参数相同。
-s或--no-messages不显示错误信息。
-v或--revert-match反转查找。
-V或--version显示版本信息。
-w或--word-regexp只显示全字符合的列。
-x或--line-regexp只显示全列符合的列。
-y此参数的效果和指定“-i”参数相同。
--help在线帮助。
linux grep命令怎么用
Linux grep命令用于查找文件里符合条件的字符串或正则表达式。
grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep
指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为-,则 grep指令会从标准输入设备读取数据。
语法:
grep [options] pattern [files]
pattern-表示要查找的字符串或正则表达式。
files-表示要查找的文件名,可以同时查找多个文件,如果省略files参数,则默认从标准输入中读取数据。
常用选项:
-i:忽略大小写进行匹配
-v:反向查找,只打印不匹配的行
-n:显示匹配行的行号
-r:递归查找子目录中的文件
-l:只打印匹配的文件名
-c:只打印匹配的行数
更多参数:
-a或--text:不要忽略二进制的数据
-A<显示行数>或--after-context=<显示行数>:除了显示符合范本样式的那一列之外,并显示该行之后的内容。
-b或--byte-offset:在显示符合样式的那一行之前,标示出该行第一个字符的编号。
-B<显示行数>或--before-context=<显示行数>:除了显示符合样式的那一行之外,并显示该行之前的内容。
-c或--count:计算符合样式的列数。
-C<显示行数>或--context=<显示行数>或-<显示行数>:除了显示符合样式的那一行之外,并显示该行之前后的内容。
-d<动作>或--directories=<动作>:当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。
-e<范本样式>或--regexp=<范本样式>:指定字符串做为查找文件内容的样式。
-E或--extended-regexp:将样式为延伸的正则表达式来使用。
-f<规则文件>或--file=<规则文件>:指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。
-F或--fixed-regexp:将样式视为固定字符串的列表。
参数有很多,就不一一介绍了,希望大家在学习工作的过程中慢慢认识它们。
Linux 中 Grep 命令的常见示例,很全面
Grep是一个强大的 UNIX命令,可让您在文件内容中搜索各种参数。当您进行故障排除或调试时,它特别有用。
grep命令有大量的选项和用例。您可能永远不需要或使用所有这些。但是,您最终会在大多数情况下使用少数几个 grep命令。
本文列出了最常见的 grep命令和快速示例:
命令示例:
描述:不区分大小写的搜索
命令示例:
描述:匹配后显示 n行
命令示例:
描述:在匹配前显示 n行
命令示例:
描述:在匹配前后显示 n行
命令示例:
描述:显示不匹配的行
命令示例:
描述:计算匹配行数
命令示例:
描述:仅显示文件名
命令示例:
描述:匹配确切的单词
命令示例:
描述:匹配正则表达式模式
命令示例:
描述:搜索二进制文件
命令示例:
描述:递归搜索目录
您可能已经知道要在文件中搜索特定文本或模式,您必须像这样使用 grep:
让我们看看 grep命令的几个常见用例。
默认情况下,使用 grep进行的搜索区分大小写,-i您可以使用以下选项忽略大小写匹配:
这样,grep将返回与和匹配的Holmes行holmes。
默认情况下,您只会看到匹配的行,但是,当您对某些问题进行故障排除时,在匹配行之前和/或之后查看几行会有所帮助。
您可以使用-A来显示匹配行之后的行。
下面的命令将显示匹配的行以及匹配后的 5行。
同样,您可以使用该-B选项在匹配行之前显示行。
下面的命令将在匹配行之前显示 5行以及匹配行。
我最喜欢的是该选项-C,因为它显示了匹配行之前和之后的行。
下面的命令将显示匹配行之前的 5行、匹配行和 matchine行之后的 5行。
您可以使用 grep显示与给定模式不匹配的所有行。此“反转匹配”与以下-v选项一起使用:
您可以组合-i和-v选项。
-c您可以使用选项获取与模式匹配的行数,而不是显示匹配的行。这是小写的c。
您可以结合-cand-v选项来获取与给定模式不匹配的行数。您当然可以使用不区分大小写的选项-i。
要显示匹配行的行号,您可以使用该-n选项。
您可以对反向搜索执行相同的操作。
您可以提供多个文件供 grep搜索。
这可能有效,但更实际的示例是搜索特定类型的文件。例如,如果您只想在 shell脚本中查找字符串(以.sh结尾的文件),您可以使用:
您可以使用 grep option执行递归搜索-r。它将在当前目录及其子目录中的所有文件中搜索给定的模式。
默认情况下,grep显示匹配的行。如果您对多个文件运行了搜索,并且只想查看哪些文件包含该字符串,则可以使用该-l选项。
假设您想查看哪些 Markdown文件包含“手册”一词,您可以使用:
默认情况下,grep将显示包含给定字符串的所有行。你可能并不总是想要那个。如果您正在搜索单词“done”,它还会显示包含“doner”或“abandoned”字样的行。
要使 grep仅搜索完整的单词,您可以使用以下选项-w:
这样,如果您搜索单词“done”,它只会显示包含“done”的行,而不是“doner”或“abandoned”。
您可以使用正则表达式模式为您的搜索提供超级动力。有一个允许使用正则表达式模式的专用选项-e和-E一个允许使用扩展正则表达式模式的选项。
您可以在同一个 grep搜索中搜索多个模式。如果要查看包含一种模式或另一种模式的行,可以使用 OR运算符|。
您可以将多个模式与 OR运算符一起使用。
AND运算符没有特定选项。为此,您可以多次使用 grep和管道重定向。
Grep默认忽略二进制文件。-a您可以使用该选项使其在二进制文件中搜索,就好像它是文本文件一样。