Linux基礎(chǔ)命令之: Linux常用命令
8.grep
(1)作用。
在指定文件中搜索特定的內(nèi)容,并將含有這些內(nèi)容的行標準輸出。
(2)格式。
grep[選項]格式[文件及路徑]
其中的格式是指要搜索的內(nèi)容格式,若缺省“文件及路徑”則默認表示在當前目錄下搜索。
(3)常見參數(shù)。
grep主要選項參數(shù)如表2.18所示。
表2.18 grep命令常見參數(shù)列表
選項 | 參數(shù)含義 |
-c | 只輸出匹配行的計數(shù) |
-I | 不區(qū)分大小寫(只適用于單字符) |
-h | 查詢多文件時不顯示文件名 |
-l | 查詢多文件時只輸出包含匹配字符的文件名 |
-n | 顯示匹配行及行號 |
-s | 不顯示不存在或無匹配文本的錯誤信息 |
-v | 顯示不包含匹配文本的所有行 |
(4)使用實例。
[root@localhosttest]#grephello/-r
Binaryfile./iscit2005/備份/iscit2004.sqlmatches
./ARM_TOOLS/uClinux-Samsung/linux-2.4.x/Documentation/s390/Debugging390.txt:helloworld$2=0
…
在本例中,“hello”是要搜索的內(nèi)容,“/-r”是指定文件,表示搜索根目錄下的所有文件。
(5)使用說明。
n 在缺省情況下,“grep”只搜索當前目錄。如果此目錄下有許多子目錄,“grep”會以如下形式列出:“grep:sound:Isadirectory”。這會使“grep”的輸出難以閱讀。但有以下兩種解決的方法。
①明確要求搜索子目錄:grep–r(正如上例中所示);
②忽略子目錄:grep-dskip。
n 當預料到有許多輸出時,可以通過管道將其轉(zhuǎn)到“less”(分頁器)上閱讀:如greph./-r|less分頁閱讀。
n grep特殊用法。
greppattern1|pattern2files:顯示匹配pattern1或pattern2的行;
greppattern1files|greppattern2:顯示既匹配pattern1又匹配pattern2的行;
小知識 | 在文件命令中經(jīng)常會使用pattern正則表達式,它是可以描述一類字符串的模式(Pattern),如果一個字符串可以用某個正則表達式來描述,就稱這個字符和該正則表達式匹配。這和DOS中用戶可以使用通配符“*”代表任意字符類似。在Linux系統(tǒng)上,正則表達式通常被用來查找文本的模式,以及對文本執(zhí)行“搜索-替換”操作等。 正則表達式的主要參數(shù)有如下 ·:忽略正則表達式中特殊字符的原有含義; ·^:匹配正則表達式的開始行; ·$:匹配正則表達式的結(jié)束行; ·:從匹配正則表達式的行開始; ·>:到匹配正則表達式的行結(jié)束; ·[]:單個字符,如[A]即A符合要求; ·[-]:范圍,如[A-Z],即A、B、C一直到Z都符合要求; ·。:所有的單個字符; ·*:所有字符,長度可以為0。 |
評論