學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 >

Linux中利用grep命令如何檢索文件內(nèi)容

時間: 加城1195 分享

  Linux繼承了Unix以網(wǎng)絡(luò)為核心的設(shè)計思想,是一個性能穩(wěn)定的多用戶網(wǎng)絡(luò)操作系統(tǒng)。當(dāng)我們需要檢索文件時候可以用到什么命令呢?這篇文章主要給大家介紹了關(guān)于Linux中利用grep命令如何檢索文件內(nèi)容的相關(guān)資料,需要的朋友們下面來一起看看吧。

  方法如下:

  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 命令的結(jié)合,實現(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ū)別

  這是兩個不同的命令,關(guān)于grep:

  Linux系統(tǒng)中g(shù)rep命令是一種強(qiáng)大的文本搜索工具,它能使用正則表達(dá)式搜索文本,并把匹 配的行打印出來。grep全稱是Global Regular Expression Print,表示全局正則表達(dá)式版本,它的使用權(quán)限是所有用戶。

  而linux下的find(具體使用方法可以參考這里://www.jb51.net/article/108198.htm)

  功能:在目錄結(jié)構(gòu)中搜索文件,并執(zhí)行指定的操作。此命令提供了相當(dāng)多的查找條件,功能很強(qiáng)大。

  語法:find 起始目錄 尋找條件 操作

  說明:find命令從指定的起始目錄開始,遞歸地搜索其各個子目錄,查找滿足尋找條件的文件并對之采取相關(guān)的操作。

  所以簡單點說說,grep是查找匹配條件的行,find是搜索匹配條件的文件

  補充:Linux基本命令

  1.ls命令:

  格式::ls [選項] [目錄或文件]

  功能:對于目錄,列出該目錄下的所有子目錄與文件;對于文件,列出文件名以及其他信息。

  常用選項:

  -a :列出目錄下的所有文件,包括以 . 開頭的隱含文件。

  -d :將目錄像文件一樣顯示,而不是顯示其他文件。

  -i :輸出文件的i節(jié)點的索引信息。

  -k :以k字節(jié)的形式表示文件的大小。

  -l :列出文件的詳細(xì)信息。

  -n :用數(shù)字的UID,GID代替名稱。

  -F : 在每個文件名后面附上一個字符以說明該文件的類型,“*”表示可執(zhí)行的普通文 件;“/”表示目錄;“@”表示符號鏈接;“l”表示FIFOS;“=”表示套接字。

  2.cd命令

  格式:cd [目錄名稱]

  常用選項:

  cd .. 返回上一級目錄。

  cd ../.. 將當(dāng)前目錄向上移動兩級。

  cd - 返回最近訪問目錄。

  3.pwd命令

  格式: pwd

  功能:顯示出當(dāng)前工作目錄的絕對路徑。

  相關(guān)閱讀:Linux主要特性

  完全兼容POSIX1.0標(biāo)準(zhǔn)

  這使得可以在Linux下通過相應(yīng)的模擬器運行常見的DOS、Windows的程序。這為用戶從Windows轉(zhuǎn)到Linux奠定了基礎(chǔ)。許多用戶在考慮使用Linux時,就想到以前在Windows下常見的程序是否能正常運行,這一點就消除了他們的疑慮。

  多用戶、多任務(wù)

  Linux支持多用戶,各個用戶對于自己的文件設(shè)備有自己特殊的權(quán)利,保證了各用戶之間互不影響。多任務(wù)則是現(xiàn)在電腦最主要的一個特點,Linux可以使多個程序同時并獨立地運行。

  良好的界面

  Linux同時具有字符界面和圖形界面。在字符界面用戶可以通過鍵盤輸入相應(yīng)的指令來進(jìn)行操作。它同時也提供了類似Windows圖形界面的X-Window系統(tǒng),用戶可以使用鼠標(biāo)對其進(jìn)行操作。在X-Window環(huán)境中就和在Windows中相似,可以說是一個Linux版的Windows。

  支持多種平臺

  Linux可以運行在多種硬件平臺上,如具有x86、680x0、SPARC、Alpha等處理器的平臺。此外Linux還是一種嵌入式操作系統(tǒng),可以運行在掌上電腦、機(jī)頂盒或游戲機(jī)上。2001年1月份發(fā)布的Linux 2.4版內(nèi)核已經(jīng)能夠完全支持Intel 64位芯片架構(gòu)。同時Linux也支持多處理器技術(shù)。多個處理器同時工作,使系統(tǒng)性能大大提高。


Linux中利用grep命令如何檢索文件內(nèi)容相關(guān)文章:

1.linux文本內(nèi)容操作系列g(shù)rep命令詳解

2.Linux通過命令查找替換文本內(nèi)容的方法

3.linux中的find與grep命令的區(qū)別

4.linux文本文件查看、顯示命令

5.linux中的awk命令

4019584