Linux中利用grep命令如何檢索文件內(nèi)容詳解
前言
Linux系統(tǒng)中搜索、查找文件中的內(nèi)容,一般最常用的是grep命令,另外還有egrep命令,同時vi命令也支持文件內(nèi)容檢索。下面來一起看看Linux利用grep命令檢索文件內(nèi)容的詳細介紹。
方法如下:
1、搜索某個文件里面是否包含字符串
命令格式:grep "被查找的字符串" filename1
例如:
grep "0101034175" /data/transaction.20170118.log
2、在多個文件中檢索某個字符串
命令格式:
- grep "被查找的字符串t" filename1 filename2 filename3 ...
- grep "被查找的字符串" *.log
3、顯示所檢索內(nèi)容在文件中的行數(shù),可以使用參數(shù)-n
命令格式: grep -n "被查找的字符串" *.log
4、檢索時需要忽略大小寫問題,可以使用參數(shù)“-i”
命令格式: grep -i "被查找的字符串" *.log
5、從文件內(nèi)容查找不匹配指定字符串的行
命令格式:grep –v "被查找的字符串" 文件名
6、搜索、查找匹配的行數(shù):
命令格式:
- grep –c "被查找的字符串" 文件名
- grep "被查找的字符串" 文件名 | wc -l
7、遞歸搜索某個目錄以及子目錄下的所有文件
命令格式:grep –r "被查找的字符串" 文件目錄
8、獲取哪些文件包含搜索的內(nèi)容,并列出文件名
命令格式:grep -H –r "被查找的字符串" 文件目錄 | cut -d: -f1 [| uniq]
例如:
grep -H -r "v\$temp_space_header" /u01/app/Oracle/product/11.1.0/dbhome_1/rdbms/admin/ | cut -d: -f1 grep -H -r "v\$temp_space_header" /u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/ | cut -d: -f1 | uniq
9、獲取與整個搜索字符匹配的內(nèi)容
命令格式:grep –w "被查找的字符串" 文件名
10、grep命令與find 命令的結合,實現(xiàn)聯(lián)合檢索
命令格式:find . -name '*.sql' -exec grep -i '被檢索內(nèi)容 ' {} \; -print
例如:
find . -name '*.sql' -exec grep -i 'v\$temp_space_header' {} \; -print
Linux grep和find的區(qū)別
這是兩個不同的命令,關于grep:
Linux系統(tǒng)中grep命令是一種強大的文本搜索工具,它能使用正則表達式搜索文本,并把匹 配的行打印出來。grep全稱是Global Regular Expression Print,表示全局正則表達式版本,它的使用權限是所有用戶。
而linux下的find(具體使用方法可以參考這里:http://www.dbjr.com.cn/article/108198.htm)
功能:在目錄結構中搜索文件,并執(zhí)行指定的操作。此命令提供了相當多的查找條件,功能很強大。
語法:find 起始目錄 尋找條件 操作
說明:find命令從指定的起始目錄開始,遞歸地搜索其各個子目錄,查找滿足尋找條件的文件并對之采取相關的操作。
所以簡單點說說,grep是查找匹配條件的行,find是搜索匹配條件的文件
總結
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關文章
Centos7實現(xiàn)MySQL基于日志還原數(shù)據(jù)的示例代碼
這篇文章主要介紹了Centos7實現(xiàn)MySQL基于日志還原數(shù)據(jù)的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-07-07

