Linux面試指令---grep指令
阿新 • • 發佈:2018-12-17
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()".