shell中的grep命令

2021-10-02 20:04:32 字數 2282 閱讀 2122

grep命令是一種強大的文字搜尋工具,根據使用者指定的「模式」對目標文字進行匹配檢查,列印匹配到的行

grep命令的基本用法引數

說明-c

只輸出匹配行的數量

-i搜尋時忽略大小寫

-h查詢多檔案時不顯示檔名

-l只列出符合匹配的檔名,而不列出具體的匹配行

-n列出所有的匹配行並顯示行號

-s不顯示不存在或無匹配文字的錯誤資訊

-v顯示不包含匹配文字的所有行

-w匹配整詞

-x-x匹配整行

-r遞迴搜尋,不僅搜尋當前工作目錄,並且搜尋子目錄

-q禁止輸出任何結果,以退出狀態表示搜尋是否成功

-b列印匹配行距檔案頭部的偏移量,以位元組為單位

-o與-b選項結合使用,列印匹配詞距檔案頭部的偏移量,以位元組為單位

-e支援擴充套件的正規表示式

-f不支援正規表示式,按照字串的字面意思進行匹配

例1:

grep root /etc/passwd	#過濾檔案中含有root的行

grep -c root /etc/passwd #-c只輸出匹配行的數量

grep -n root /etc/passwd #-n列出所有的匹配行並顯示行號

grep -v root /etc/passwd #-v顯示不包含root的所有行

例2:

grep -i root passwd		#搜尋時忽略大小寫

grep ro*t passwd #應用正規表示式

例3:

grep root nigar

grep -s root nigar #-s不顯示不存在或無匹配文字的錯誤資訊

例4:

grep -r passwd /etc/		#-r遞迴搜尋,不僅搜尋當前工作目錄,並且搜尋子目錄
例5:

grep roo* passwd

grep -w roo* passwd #-w匹配整詞

例6:

grep -w today test.txt 

grep -x today test.txt #-x匹配整行

例7:

grep -q -x today test.txt 	#-q禁止輸出任何結果,以退出狀態表示搜echo $?

例8:

grep -c ^$ passwd		#搜尋空行

grep -c ^[^$] passwd #搜尋非空行

例9:

grep -n [rr]oot passwd	#正規表示式 表示第乙個字元可以是r或r後面三個字元為oot

shell中grep命令詳解

用 grep 搜尋文字檔案 如果您要在幾個文字檔案中查詢一字串,可以使用 grep 命令。grep 在文字中搜尋指定的字串。舉個例子 假設您正在 usr src linux documentation 目錄下搜尋帶字串 magic 的檔案 grep magic usr src linux docum...

Shell指令碼中find和grep命令的區別

在shell指令碼中find 和 grep 同樣都是搜尋命令。find 命令用於在系統中搜尋符合條件的檔名,如果需要模糊查詢,則使用萬用字元進行匹配。搜尋時檔名是完全匹配的。例如 root localhost touch abc 建立檔案abc root localhost touch abcd 建...

shell中grep命令及常用語法

背景 grep的全稱是global regular expression print,是linux中最強大的文字搜尋命令之一,常用於搜尋文字檔案中是否含有某些特定模式的字串。該命令以行為單位讀取文字並使用正規表示式進行匹配,匹配成功後列印出該行文字。命令格式 grep option string t...