前言linux
Linux系統中搜索、查找文件中的內容,通常最經常使用的是grep命令,另外還有egrep命令,同時vi命令也支持文件內容檢索。下面來一塊兒看看Linux利用grep命令檢索文件內容的詳細介紹。正則表達式
方法以下:sql
一、搜索某個文件裏面是否包含字符串bash
命令格式:grep "被查找的字符串" filename1oracle
例如:app
1
|
grep
"0101034175"
/data/transaction
.20170118.log
|
二、在多個文件中檢索某個字符串工具
命令格式:spa
三、顯示所檢索內容在文件中的行數,可使用參數-n.net
命令格式: grep -n "被查找的字符串" *.logcode
四、檢索時須要忽略大小寫問題,可使用參數「-i」
命令格式: grep -i "被查找的字符串" *.log
五、從文件內容查找不匹配指定字符串的行
命令格式:grep –v "被查找的字符串" 文件名
六、搜索、查找匹配的行數:
命令格式:
七、遞歸搜索某個目錄以及子目錄下的全部文件
命令格式:grep –r "被查找的字符串" 文件目錄
八、獲取哪些文件包含搜索的內容,並列出文件名
命令格式:grep -H –r "被查找的字符串" 文件目錄 | cut -d: -f1 [| uniq]
例如:
1
2
3
|
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
|
九、獲取與整個搜索字符匹配的內容
命令格式:grep –w "被查找的字符串" 文件名
十、grep命令與find 命令的結合,實現聯合檢索
命令格式:find . -name '*.sql' -exec grep -i '
被檢索內容 ' {} \; -print
例如:
1
|
find
. -name
'*.sql'
-
exec
grep
-i
'v\$temp_space_header'
{} \; -print
|
Linux grep和find的區別
這是兩個不一樣的命令,關於grep:
Linux系統中grep命令是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹 配的行打印出來。grep全稱是Global Regular Expression Print,表示全局正則表達式版本,它的使用權限是全部用戶。
而linux下的find(具體使用方法能夠參考這裏://www.jb51.net/article/108198.htm)
功能:在目錄結構中搜索文件,並執行指定的操做。此命令提供了至關多的查找條件,功能很強大。
語法:find 起始目錄 尋找條件 操做
說明:find命令從指定的起始目錄開始,遞歸地搜索其各個子目錄,查找知足尋找條件的文件並對之採起相關的操做。
因此簡單點說說,grep是查找匹配條件的行,find是搜索匹配條件的文件