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