天天看點

Linux 常用指令 grep

作者:科大雲炬

大家好,我是雲炬學長。基于目前很多企業都在使用 Linux 作業系統,掌握 Linux 指令行已經成為運維人必備的基礎知識和技能,學習指令是為了更好地解決問題。

上一篇分享了運維中遇到的問題及解決辦法,這次分享 Linux 的常用基礎指令 grep 。

grep 查找檔案中符合條件的字元串,與 sed、awk 組成 Linux 的三劍客,文法格式:grep [選項] 關鍵字 檔案名

關鍵字加引号(單引号,雙引号),不加引号的差別

關鍵字加引号,關鍵字會被看成一個整體,可以包含空格或特殊字元

1)單引号

如果關鍵字包含特殊字元($ 和 \' 除外),使用單引号會對特殊字元轉義,進行完全比對搜尋

2)雙引号

關鍵字即使包含特殊符号,使用雙引号原樣輸出

3)不加引号

搜尋包含關鍵字中任意單詞的文本行

一、列印包含關鍵字的行

文法格式:grep "關鍵字" 檔案名

查找包含關鍵字 root 的行,并顯示出來

Linux 常用指令 grep

二、列印以某關鍵字開頭的行

文法格式:grep "^關鍵字" 檔案名

在關鍵字前面加 ^ 号,表示搜尋以關鍵字開頭的行

Linux 常用指令 grep

三、列印某關鍵字結尾的行

文法格式:grep "關鍵字#34; 檔案名

在關鍵字後面加上 $ 符号,表示查找以關鍵字結尾的行

Linux 常用指令 grep

四、不區分大小寫列印關鍵字的行

文法格式:grep -i "關鍵字" 檔案名

列印包含 root 的行,可以是 Root ,ROOT 等等

Linux 常用指令 grep

五、列印關鍵字并顯示行号

文法格式:grep -n "關鍵字" 檔案名

在檔案 test.txt 中查找關鍵字的同時,并且顯示行号

Linux 常用指令 grep

六、遞歸搜尋關鍵字

文法格式:grep -r 關鍵字

搜尋所有的檔案及子目錄,包含關鍵字的行

grep -r "root" /home/back

Linux 常用指令 grep

七、統計比對某關鍵字的次數

文法格式:grep -c "關鍵字" 檔案名

統計包含 root 的行數

Linux 常用指令 grep

八、過濾空白行

固定的文法格式: grep -v "^#34; 檔案名

先輸出所有内容,然後鍵入指令對比後,更好展示

Linux 常用指令 grep

九、查找包含多個關鍵字的行

文法格式:grep -E "關鍵字1|關鍵字2" 檔案名

查找包含 root 或者 sync 的行

grep -E "root|sync" test.txt

Linux 常用指令 grep

這裡使用了 Linux 正規表達式,Linux 正規表達式常用元字元如下

Linux 常用指令 grep

繼續閱讀