linux 如何在文件中查找指定内容信息_linux根据文件内容查找文件名

(24) 2024-07-01 20:01:01

一、前言:在Linux系统当中,查找文件里面的指定内容 应该是系统维护、管理当中遇到最常见的。那么下面如何搜索、查找文件当中的内容呢?下面就介绍一下如何在文件中查找指定的内容

查找文件当中的内容,一般最常用的是grep命令,另外还有egrep, vi命令也能搜索文件里面内容。

1、搜索某个文件里面是否包含字符串,使用 grep "search-content" filename

命令:

[root@localhost logs]# grep '搜索内容' log_file_catalina.out 或者 [root@localhost logs]# grep 搜索内容 log_file_catalina.out

例如我们 查找 log_file_catalina.out 文件中包含 '总数:900' 的字符内容

linux 如何在文件中查找指定内容信息_linux根据文件内容查找文件名 (https://mushiming.com/)  第1张2: 2、如果你想搜索多个文件是否包含某个字符串,可以使用下面方式

[root@localhost logs]# grep "search-content" filename1 filename2.... filenamen [root@localhost logs]# grep "search-content" *.out

例如 我想查看当前目录下,哪些日志文件含'\总数:900\' {注意:搜索的内容如果包含特殊字符时,必须进行转义处理}

[root@localhost logs]# grep "\\总数:900\\" *.out

2.1 如果需要显示搜索文本在文件中的行数,可以使用参数 -n

[root@localhost logs]# grep -n "\\总数:900\\" *.out

2.2 如果搜索时需要忽略大小写问题,可以使用参数 -i

[root@localhost logs]# grep -i "\\总数:900\\" *.out

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

[root@localhost logs]# grep –v "search-content" 文件名

例如查找某些进程时,我们不想显示包含命令 grep tomcat 的进程,如下所示

[root@localhost admin]$ ps -ef | grep tomcat root 16675 16220 0 00:09 pts/1 00:00:00 grep tomcat root 21412 1 0 Aug22 ? 00:00:07 tomcat [root@localhost admin]$ ps -ef | grep tomcat| grep -v grep root 21412 1 0 Aug22 ? 00:00:07 tomcat [root@localhost admin]$ 

4、搜索、查找匹配的行数:

[root@localhost logs]# grep -c "search-content" 文件名
[root@localhost log]$ grep -c "总数:900" log_file_catalina.out 2 [root@localhost log]$ grep -c "总数:900" log_file_catalina.out 5 [root@localhost log]$ 

5、如果只想获取和整个搜索字符匹配的内容,那么可以使用参数w 

[root@localhost logs]# grep -w "search-content" 文件名

THE END

发表回复