Linux系統(tǒng)中搜索蓬衡、查找文件中的內(nèi)容,一般最常用的是grep命令,另外還有egrep命令箱歧,同時(shí)vi命令也支持文件內(nèi)容檢索。
- 搜索某個(gè)文件里面是否包含字符串
命令格式:grep "被查找的字符串" filename1
例如:
grep "0101034175" /data/transaction.20170118.log
- 在多個(gè)文件中檢索某個(gè)字符串
命令格式:
- grep "被查找的字符串t" filename1 filename2 filename3 ...
- grep "被查找的字符串" *.log
- 顯示所檢索內(nèi)容在文件中的行數(shù)一膨,可以使用參數(shù)-n
命令格式: grep -n "被查找的字符串" *.log
- 檢索時(shí)需要忽略大小寫(xiě)問(wèn)題呀邢,可以使用參數(shù)“-i”
命令格式: grep -i "被查找的字符串" *.log
- 從文件內(nèi)容查找不匹配指定字符串的行
命令格式:grep –v "被查找的字符串" 文件名
- 搜索、查找匹配的行數(shù):
命令格式:
- grep –c "被查找的字符串" 文件名
- grep "被查找的字符串" 文件名 | wc -l
- 遞歸搜索某個(gè)目錄以及子目錄下的所有文件
命令格式:grep –r "被查找的字符串" 文件目錄
- 獲取哪些文件包含搜索的內(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
- 獲取與整個(gè)搜索字符匹配的內(nèi)容
命令格式:grep –w "被查找的字符串" 文件名
- grep命令與find 命令的結(jié)合驼鹅,實(shí)現(xiàn)聯(lián)合檢索
命令格式:find . -name '*.sql' -exec grep -i '被檢索內(nèi)容' {} ; -print
例如:
find . -name '*.sql' -exec grep -i 'v\$temp_space_header' {} \; -print