grep命令详解是什么?

grep命令详解是什么?,第1张

可以使用head-1命令来只取grep到的数据的第一行。

例如一个文本文档atxt内容是:

使用命令catatxt|grep北京|head-n1可以只取到第一行的数据北京。

-c,--bytes=[-]K;k,显示文档开始的前k个字节,-k,不显示文档结尾的最后k个字节。

-n,--lines=[-]K:k,显示文档开始的前k行,-k,不显示文档结尾的最后k行。

-q,--quiet,--silent:不显示包含给定文件名的文件头。

命令详解:

head命令与tail命令用法相似,head命令用于查看文档的开始指定数量的字符块,默认显示文档的前10行,如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。

grep命令用法格式:

head参数文件。

grep 搜索同时满足多个关键字和满足任意关键字
1、 grep -E "word1|word2|word3" filetxt
满足任意条件(word1、word2和word3之一)将匹配。

这样也可以
egrep 'word1|word2|word3' 文件名
grep 'word1/|word2|word3' 文件名

错误的:
grep 'word1|word2|word3'

2、 grep word1 filetxt | grep word2 |grep word3
必须同时满足三个条件(word1、word2和word3)才匹配。
为什么需要加-E

Linux 命令大全

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

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

参数

Linux 命令大全

1、在当前目录中,查找后缀有 file 字样的文件中包含 test 字符串的文件,并打印出该字符串的行。此时,可以使用如下命令:

结果如下所示:

2、以递归的方式查找符合条件的文件。例如,查找指定目录/etc/acpi 及其子目录(如果存在子目录的话)下所有文件中包含字符串"update"的文件,并打印出该字符串所在行的内容,使用的命令为:

输出结果如下:

3、反向查找。前面各个例子是查找并打印出符合条件的行,通过"-v"参数可以打印出不符合条件行的内容。

查找文件名中包含 test 的文件中不包含test 的行,此时,使用的命令为:

结果如下所示:

linxu下的grep命令其实是一个搜索文件文本的工具。下面由我为大家整理了linux的grep命令的详细解释的相关知识,希望对大家有帮助!

一、linux中的grep命令的详细解释

1作用

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。

2格式

grep [options]

3主要参数

[options]主要参数:

-c:只输出匹配行的计数。

-I:不区分大 小写(只适用于单字符)。

-h:查询多文件时不显示文件名。

-l:查询多文件时只输出包含匹配字符的文件名。

-n:显示匹配行及 行号。

-s:不显示不存在或无匹配文本的错误信息。

-v:显示不包含匹配文本的所有行。

pattern正则表达式主要参数:

\: 忽略正则表达式中特殊字符的原有含义。

^:匹配正则表达式的开始行。

$: 匹配正则表达式的结束行。

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

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

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

[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。

。:所有的单个字符。

:有字符,长度可以为0。

二、linux中的grep命令的详解实例

1grep命令使用简单实例

$ grep ‘test’ d

显示所有以d开头的文件中包含 test的行。

$ grep ‘test’ aa bb cc

显示在aa,bb,cc文件中匹配test的行。

$ grep ‘[a-z]\{5\}’ aa

显示所有包含每个字符串至少有5个连续小写字符的字符串的行。

$ grep ‘w\(es\)t\1′ aa

如果west被匹配,则es就被存储到内存中,并标记为1,然后搜索任意个字符(),这些字符后面紧跟着 另外一个es(\1),找到就显示该行。如果用egrep或grep -E,就不用”\”号进行转义,直接写成’w(es)t\1′就可以了。

2grep命令使用复杂实例

假设您正在’/usr/src/Linux/Doc’目录下搜索带字符 串’magic’的文件:

$ grep magic /usr/src/Linux/Doc/

sysrqtxt: How do I enable the magic SysRQ key

sysrqtxt: How do I use the magic SysRQ key

其中文件’sysrptxt’包含该字符串,讨论的是 SysRQ 的功能。

默认情况下,’grep’只搜索当前目录。如果 此目录下有许多子目录,’grep’会以如下形式列出:

grep: sound: Is a directory

这可能会使’grep’ 的输出难于阅读。这里有两种解决的办法:

明确要求搜索子目录:grep -r

或忽略子目录:grep -d skip

如果有很多 输出时,您可以通过管道将其转到’less’上阅读:

$ grep magic /usr/src/Linux/Documentation/ | less

这样,您就可以更方便地阅读。

有一点要注意,您必需提供一个文件过滤方式(搜索全部文件的话用 )。如果您忘了,’grep’会一直等着,直到该程序被中断。如果您遇到了这样的情况,按 <CTRL c> ,然后再试。

下面还有一些有意思的命令行参数:

grep -i pattern files :不区分大小写地搜索。默认情况区分大小写,

grep -l pattern files :只列出匹配的文件名,

grep -L pattern files :列出不匹配的文件名,

grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’),

grep -C number pattern files :匹配的上下文分别显示[number]行,

grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行,

grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。

grep -n pattern files 即可显示行号信息

grep -c pattern files 即可查找总行数

这里还有些用于搜索的特殊符号:

\< 和 \> 分别标注单词的开始与结尾。

例如:

grep man 会匹配 ‘Batman’、’manic’、’man’等,

grep ‘\<man’ 匹配’manic’和’man’,但不是’Batman’,

grep ‘\<man\>’ 只匹配’man’,而不是’Batman’或’manic’等其他的字符串。

‘^’:指匹配的字符串在行首,

‘$’:指匹配的字符串在行 尾,

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您可以使用该选项使其在二进制文件中搜索,就好像它是文本文件一样。

1、首先在打开的linux终端下,可以使用grep --help查看,如下图所示。

2、常规用法,使用grep 接关键字文件,如下图所示。

3、对于关键字有空格或者比较长的字符串,可以使用单引号或双引号锁定,如下图所示。

4、注意grep是检索关键字,如果要排除这个关键字,使用 grep -v,如下图所示就完成了。

题主是否想询问“ps-ef|grep命令怎么使用”?
1、首选打开编程语言,使用ps-ef|grep语言。
2、其次pse列出程序时,显示每个程序所使用的环境变量。
3、最后psf用ASCII字符显示树状结构,表达程序间的相互关系即可。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13380327.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-25
下一篇 2023-07-25

发表评论

登录后才能评论

评论列表(0条)

保存