Linux中利用grep命令如何檢索文件內容詳解

前言linux

Linux系統中搜索、查找文件中的內容,通常最經常使用的是grep命令,另外還有egrep命令,同時vi命令也支持文件內容檢索。下面來一塊兒看看Linux利用grep命令檢索文件內容的詳細介紹。正則表達式

方法以下:sql

一、搜索某個文件裏面是否包含字符串bash

命令格式:grep "被查找的字符串" filename1oracle

例如:app

?
1
grep "0101034175" /data/transaction .20170118.log

二、在多個文件中檢索某個字符串工具

命令格式:spa

  • grep "被查找的字符串t" filename1 filename2 filename3 ...
  • grep "被查找的字符串" *.log

三、顯示所檢索內容在文件中的行數,可使用參數-n.net

命令格式: grep -n "被查找的字符串" *.logcode

四、檢索時須要忽略大小寫問題,可使用參數「-i」

命令格式: grep -i "被查找的字符串" *.log

五、從文件內容查找不匹配指定字符串的行

命令格式:grep –v "被查找的字符串" 文件名

六、搜索、查找匹配的行數:

命令格式:

  • grep –c "被查找的字符串" 文件名
  • grep "被查找的字符串" 文件名 | wc -l

七、遞歸搜索某個目錄以及子目錄下的全部文件

命令格式: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是搜索匹配條件的文件

相關文章
相關標籤/搜索