1. 程式人生 > >Linux面試指令---grep指令

Linux面試指令---grep指令

grep 命令

        grep 是個很強大的命令,用來找到檔案中的匹配文字,並且能夠接受正則表示式和萬用字元,同時可以用多個 grep 命令選項來生成各種格式的輸出。

        grep 的工作方式是這樣的,它在一個或多個檔案中搜索字串模板。如果模板包括空格,則必須被引用,模板後的所有字串被看作檔名。搜尋的結果被送到標準輸出,不影響原檔案內容。

        grep 可用於 shell 指令碼,因為 grep 通過返回一個狀態值來說明搜尋的狀態,如果模板搜尋成功,則返回 0,如果搜尋不成功,則返回 1,如果搜尋的檔案不存在,則返回 2。我們利用這些返回值就可進行一些自動化的文字處理工作。

(1)命令格式

         grep [選項] pattern [file]

(2)常用引數

引數 描述
-c 計算找到 '搜尋字串'(即 pattern) 的次數
-i 忽略大小寫的不同,所以大小寫視為相同
-n 輸出行號
-v 反向選擇,列印不匹配的行
-r 遞迴搜尋
--color=auto 將找到的關鍵詞部分加上顏色顯示

(3)常用範例

         例一:將/etc/passwd 檔案中出現 root 的行取出來,關鍵詞部分加上顏色顯示,可以使用如下命令:

grep "root" /etc/passwd --color=auto
cat /etc/passwd | grep "root" --color=auto

          例二:將/etc/passwd 檔案中沒有出現 root 和 nologin 的行取出來,可以使用如下命令:

grep -v "root" /etc/passwd | grep -v "nologin"

          例三:在當前目錄下遞迴搜尋檔案中包含 main()的檔案,經常用於查詢某些函式位於哪些原始碼檔案中,可以使用如下命令:

grep -r "main()".