Linux日常之命令grep


命令grep簡介

  利用該命令在文本中查找指定的字符串,是Linux中最常用的文本處理工具之一。

  命令grep與正則表達式結合使用時,功能會非常強大。

  命令grep會在文本文件中按照指定的正則表達式進行全局搜索,並將搜索出的行打印出來。

 

常用選項

  1. -i,忽略大小寫

  2. -n,顯示結果所在行號

  3. -c,統計匹配到的行數(注,不是匹配到的次數)

  4. -o,只顯示符合條件的字符串,而不是整行

  5. -v,反選,顯示出不符合的行

  6. -w,匹配的是整個單詞

  7. -Ax,結果所在行之后的指定行數,x為行數

  8. -Bx,結果所在行之前的指定行數,x為行數

  9. -Cx,結果所在行之前和之后的指定行數,x為行數

  10. -e,實現多個選項的匹配,邏輯or關系

  11. -q,靜默模式,不輸出任何信息

     eg. 當只關心是否匹配到的時候,使用此命令,然后,使用“echo $?”查看是否匹配成功,當返回0,表示成功,當返回1,表示失敗

  

實例講解

  1.  為了方便實驗,存在兩個用來測試的文本文件test.txt和test1.txt,內容如下所示

    

  2. 若在文本test.txt中,區分大小寫地查找帶有字符串“grep”的行,則有

    

    注意,默認情況下,grep是區分大小寫的

  3. 若在文本test.txt中,不區分大小寫地查找帶有字符串“grep”的行,使用選項“-i”,則有

    

  4. 若在文本test.txt中,在區分大小寫的同時,帶行號的查找帶有字符串“grep”的行,使用選項“-n”,則有

    

  5. 若在文本test.txt中,統計出現字符串“grep”的行數,使用選項“-c”,則有

    

    注意,所顯示的內容中,並不包含對應的行內容,僅包含行數

  6. 若在文本test.txt中,不區分大小寫地顯示所符合的字符串“abc”,使用選項“-i”和“-o”,則有

    

    注意,並不能去重!!!

  7. 若在文本test.txt中,顯示出不含有字符串“grep”的行,使用選項“-v”,則有

    

  8. 若在文本test.txt中,顯示帶有單詞“grep”,而不是包含字符串“grep”的行,使用選項“-w”,則有

    

  9. 若在文本test1.txt中,找出年齡為18歲的同學的姓名,則使用選項“-Bx”,則有

    

    若要顯示名為“李四”的年齡和性別,則有

    

    若要顯示性別為“男”的同學的姓名、年齡、職業和籍貫,則有

    

  10. 若在文本test.txt中,顯示出帶有字符串“grep”或“abc”的行,使用選項“-e”,則有

    

    或使用“egrep”也可以

    

  11. 若在文本test.txt中,僅僅查看是否存在字符串“grep”,而不用顯示對應的行,則有

    

    注意,選項“-q”是靜默模式的,若想查看是否查詢成功,則可以顯示出“$?”的值。當“$?”為0時,表示查詢成功,當“$?”為1時,表示查詢失敗!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM