软件下载

linux查找文件中的关键字(Linux如何查找含有指定关键字的文件)

软件下载 投稿 2022-08-23 14:49:07 浏览

1. 前言

本文主要讲解如何使用Linux命令查找linux查找文件中关键字。我们有时间需要知道Linux系统里哪些文件包含一些特定关键字,特别是进程对应的配置文件。我们知道,Linux的配置文件一般都是文本格式的。如何根据文本关键字定位相关文件是本文章的主要内容

linux怎么查找文件中关键字

2. linux 查找文本内容最常用的命令-`grep`

grep是Linux命令行下常用于查找文本文件内容和过滤输出结果的命令。

使用案例1:

在当前目录下的test.txt文件里,查找关键字zcwyou

[root@zcwyou ~]# grep zcwyou test.txt

linux使用grep命令查找文本内容

如果想忽略大小写,可以用-i参数:

在当前目录下的url.txt文件里,查找关键字

[root@zcwyou ~]# grep -i www.linuxrumen.com url.txt

如果想搜索目录里所有文件,包括子目录的话,并且在结果中显示行号,可以用以下命令:

[root@zcwyou ~]# grep -nr apple *

grep的语法支持正则表达式,正则表达式的使用方法并不包括在本文档里。介绍一下grep常用参数:

-A num, --after-context=num: 在结果中同时输出匹配行之后的num行

-B num, --before-context=num: 在结果中同时输出匹配行之前的num行,有时候我们需要显示几行上下文。

-i, --ignore-case: 忽略大小写

-n, --line-number: 显示行号

-R, -r, --recursive: 递归搜索子目录

-v, --invert-match: 输出没有匹配的行

我们可以通过管道操作来让grep变得更强大,管道操作就是把前面一条命令的输出作为后面一条命令的输入,从而把很多简单的命令组合起来完成复杂的功能。例如,如果我们想查找包含aaa的行,但又想过滤掉bbb,可以用下面的命令:

[root@zcwyou ~]# grep aaa demo.txt | grep -v bbb

如果我们想把搜索结果保存起来,那么可以把命令的标准输出重定向到文件,即把输出内容保存在demo_new.txt这个文件里,如果文件不存在,则自动创建。

[root@zcwyou ~]# grep aaa demo.txt | grep -v bbb > demo_new.txt

解释:

重定向符号>和管道操作符号|的区别是,重定向后面接的是一个文件,它后面不能再接任何文件或命令了;而管道操作后面接的是命令,可以无限地接下去。如果想以追加方式写到文件,可以用>>。管道操作是Linux命令行的一种哲学,它是计算机技术中少有的能沿用几十年的技术之一。通过管道操作,一行命令可以完成Windows下上千行程序也不能完成的文本处理功能。

3. linux查找文件中关键字常见案例

从文件内容查找匹配指定字符串的行:

grep “被查找的字符串” 文件名

在当前目录下,查找文件后缀名为.in的文件,文件内容含aaa的文件

[root@zcwyou ~]# grep “aaa” /.in

从文件内容查找与正则表达式匹配的行:

[root@zcwyou ~]# grep -e “正则表达式” 文件名

查找内容时不区分大小写:

[root@zcwyou ~]# grep -i “被查找的字符串” 文件名

查找匹配的行数:

[root@zcwyou ~]# grep -c “被查找的字符串” 文件名

从文件内容查找不匹配指定字符串的行并打印:

grep -v “被查找的字符串” 文件名

从根目录开始查找所有扩展名为.log的文本文件,并找出包含”ERROR”的行的文本

[root@zcwyou ~]# find / -type f -name "*.log" | xargs grep "ERROR"

从当前目录开始查找所有扩展名为.c的文本文件,并找出包含”test”的行

[root@zcwyou ~]# find . -name "*.c" | xargs grep "test"

linux查找文件中关键字常见案例

4. 总结:

grep命令用于查找内容与打印输出与过滤。

关于grep的命令的使用:

几个常用的查询指令:

1、查找时不区分字符串的大小写

grep -i “查找的字符串” 文件名

2、查找时使用正则表达式,匹配符合的字符串

grep -e “正则表达式” 文件名

3、查找不匹配指定字符串的行:

grep -v “被查找的字符串” 文件名

4、查找时显示被查找字符串所在的行数

grep -n “查找的字符串” 文件名

希望能给学习Linux的同学一些帮助。

「真诚赞赏,手留余香」

求资源网

真诚赞赏,手留余香

使用微信扫描二维码完成支付

继续浏览有关编程的文章
发表评论
留言与评论(共有 0 条评论)
   
验证码:
版权声明

求资源网所发布的一切破解补丁,软件,以及其他分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途。
否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。