良许Linux教程网 干货合集 Linux系统在文件内容中查找关键字 grep的详细使用方法

Linux系统在文件内容中查找关键字 grep的详细使用方法

find命令可以准确的查找文件但是不能查找文件内的关键字,如果想要查找文件内容怎么办?下面良许教程网为大家分享一下Linux系统 在文件内容中查找关键字grep命令的具体使用方法。

Linux系统在文件内容中查找关键字 grep的详细使用方法

查看文件的行数在 linux 系统中没有在 windows 系统中那么方便的点点鼠标就可以操作文件了,对文件的各种操作都必须使用各种命令来完成。比如有时候我们需要在不查看文件内容的情况下需要知道该文件有多少行。这个时候可以通过 linux 的 wc 命令完成我们的想法。下面具体介绍一下 wc 命令的作用以及用法。

wc 命令的作用:统计指定文件中的字节数、字数、行数,并将结果显示输出。

命令语法:wc [选项] 文件

该命令选项参数如下:

-c 统计字节数

-l 统计行数

-w 统计字数

-m 统计字符数

以上选项可以单独使用也可以组合使用。注意组合使用时输出结果的列的顺序和数目不受选项的顺序和数目的影响。输出结果总是按下述顺序进行显示的。

行数 字数 字节数 文件名

例如:

wc -lcw file1 file2

则输出结果为:

9 36 file1

8 62 file2

8 24 96 total

省略任选项-lcw,wc命令的执行结果与上面是一样的。

以上选项也可以单独使用,例如:

wc -l filename 输出 filename 的行数

wc -c filename 输出 filename 的字节数

wc -m filename 输出 filename 的字符数

wc -w filename 输出 filename 的单词数

wc -L filename 输出 filename 文件里最长的那一行是多少个字符数

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。

4.grep命令使用简单实例

$ 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′就可以了。

5.grep命令使用复杂实例

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

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

sysrq.txt:* How do I enable the magic SysRQ key?

sysrq.txt:* How do I use the magic SysRQ key?

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

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

grep: sound: Is a directory

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

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

或忽略子目录:grep -d skip

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

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

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

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

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

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 ‘

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

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

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

实践在包含大量文件索引的.txt文本文件中,搜索符合要求的文件索引的内容:

grep ‘.19-.‘ files_choice.txt

至此关于Linux系统在文件查找关键字的命令——grep的具体使用方法分享结束,欢迎大家在评论区留言。

以上就是良许教程网为各位朋友分享的Linux系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你!

137e00002230ad9f26e78-265x300

本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部