Linux 如何在文件中查找指定內容

一、前言:在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' 的字符內容

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" 文件名

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章