1、grep [選項(xiàng)] 字符串 文件名(在文件中匹配符合條件的字符串)
鎮(zhèn)海網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、自適應(yīng)網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)公司自2013年創(chuàng)立以來到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。
選項(xiàng):
-i 忽略大小寫
-v 排除指定的字符串
例子:
grep "test" a.txt(在a.txt中搜索匹配test的字符串)
注意:
find命令:在系統(tǒng)中搜符合條件文件名,使用通用符,通用符是完全匹配
grep命令:在文件中搜索符合條件字符串,使用正則匹配,正則包含匹配
在linux中g(shù)rep命令是非常有用的,它和管道(|)配合使用,非常強(qiáng)大,用于搜索文本文件.如果想要在幾個(gè)文本文件中查找一字符串,可以使用‘grep’命令?!甮rep’在文本中搜索指定的字符串。
假設(shè)您正在‘/usr/src/linux/Documentation’目錄下搜索帶字符串‘magic’的文件:
$ grep magic /usr/src/linux/Documentation/*
sysrq.txt:* How do I enable the magic SysRQ key?
sysrq.txt:* How do I use the magic SysRQ key?
其中文件‘sysrp.txt’包含該字符串,討論的是 SysRQ 的功能。
默認(rèn)情況下,‘grep’只搜索當(dāng)前目錄。如果此目錄下有許多子目錄,‘grep’會(huì)以如下形式列出:
grep: sound: Is a directory
這可能會(huì)使‘grep’的輸出難于閱讀。這里有兩種解決的辦法:
明確要求搜索子目錄:grep -r
或忽略子目錄:grep -d skip
當(dāng)然,如果預(yù)料到有許多輸出,您可以通過 管道 將其轉(zhuǎn)到‘less’上閱讀:
$ grep magic /usr/src/linux/Documentation/* | less
這樣,您就可以更方便地閱讀。
有一點(diǎn)要注意,您必需提供一個(gè)文件過濾方式(搜索全部文件的話用 *)。如果您忘了,‘grep’會(huì)一直等著,直到該程序被中斷。如果您遇到了這樣的情況,按 ,然后再試。
下面是一些有意思的命令行參數(shù):
grep -i pattern files :不區(qū)分大小寫地搜索。默認(rèn)情況區(qū)分大小寫,
grep -l pattern files :只列出匹配的文件名,
grep -L pattern files :列出不匹配的文件名,
grep -w pattern files :只匹配整個(gè)單詞,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),
grep -C number pattern files :匹配的上下文分別顯示[number]行,
grep pattern1 | pattern2 files :顯示匹配 pattern1 或 pattern2 的行,
grep pattern1 files | grep pattern2 :顯示既匹配 pattern1 又匹配 pattern2 的行。
這里還有些用于搜索的特殊符號(hào):
\ 分別標(biāo)注單詞的開始與結(jié)尾。
例如:
grep man * 會(huì)匹配 ‘Batman’、‘manic’、‘man’等,
grep '\grep '\' 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。
'^':指匹配的字符串在行首,
'$':指匹配的字符串在行尾,
如果您不習(xí)慣命令行參數(shù),可以試試圖形界面的‘grep’,如 reXgrep 。這個(gè)軟件提供 AND、OR、NOT 等語法,還有漂亮的按鈕 :-) 。如果您只是需要更清楚的輸出,不妨試試 fungrep 。
概述
使用grep可以查找包含指定字符串的文件
步驟詳解
格式:
grep “要查找的字符串” 文件名
例子:
grep "192.168.0.1" /etc
文件名可以使用基本正則表達(dá)式(BRE),例如, 查找test目錄下的所有文件,是否包含字符串。
grep “” /root/zzh/test/*
小貼士:使用-n 參數(shù),可以顯示字符串在文件中的行數(shù)
拓展內(nèi)容
關(guān)于grep的命令的使用:
幾個(gè)常用的查詢指令:
1、查找時(shí)不區(qū)分字符串的大小寫
grep -i “查找的字符串” 文件名 ?
2、查找時(shí)使用正則表達(dá)式,匹配符合的字符串
grep -e “正則表達(dá)式” 文件名 ?
3、查找不匹配指定字符串的行:
grep -v “被查找的字符串” ?文件名 ?
4、查找時(shí)顯示被查找字符串所在的行數(shù)
grep -n “查找的字符串” 文件名 ?