您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“Linux fgrep命令怎么使用”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“Linux fgrep命令怎么使用”吧!
fgrep命令 是用來(lái)搜索 file 參數(shù)指定的輸入文件(缺省為標(biāo)準(zhǔn)輸入)中的匹配模式的行。
為文件搜索文字字符串
fgrep 命令于 grep 和 egrep 命令不同,因?yàn)樗阉髯址皇撬阉髌ヅ浔磉_(dá)式的模式。fgrep 命令使用快速的壓縮算法。$, *, [, |, (, )和\等字符串被 fgrep 命令按字面意思解釋。這些字符并不解釋為正則表達(dá)式,但它們?cè)?grep 和 egrep 命令中解釋為正則表達(dá)式。因?yàn)檫@些字符對(duì)于 shell 有特定的含義,完整的字符串應(yīng)該加上單引號(hào)‘ ... ’。. 如果沒(méi)有指定文件, fgrep 命令假定標(biāo)準(zhǔn)輸入。一般,找到的每行都復(fù)制到標(biāo)準(zhǔn)輸出中去。如果不止一個(gè)輸入文件,則在找到的每行前打印文件名。
fgrep 命令和帶 -F 標(biāo)志的 grep命令是一樣的但出錯(cuò)和用法消息不同-s 標(biāo)志功能也不同。
每行限制在 2048 個(gè)字節(jié)。
段落(-p 標(biāo)志下)目前限制在5000個(gè)字符的長(zhǎng)度。
不要在特定的文件中運(yùn)行 grep 命令,因?yàn)闀?huì)產(chǎn)生不可預(yù)料的結(jié)果。
輸入行不能包含空字符。
輸入文件應(yīng)該以換行字符結(jié)尾。
雖然可以同時(shí)指定很多標(biāo)志,但某些標(biāo)志會(huì)覆蓋其余的標(biāo)志。例如,如果同時(shí)指定 -l 和 -n ,只有文件名寫(xiě)入到標(biāo)準(zhǔn)輸出中去。
fgrep(選項(xiàng))(參數(shù))
-b:在找到的每行之前添加行所在的塊編號(hào)。使用此標(biāo)志有助于按照上下文查找磁盤(pán)塊號(hào)碼。-b 標(biāo)志不能用于標(biāo)準(zhǔn)輸入或者管道輸入。 -c:僅顯示匹配行的計(jì)數(shù)。 -e 模式:指定模式。這個(gè)工作模式很簡(jiǎn)單,但當(dāng)此模式以 a-(減號(hào)) 開(kāi)頭時(shí)卻是很有用的。 -f StringFile:指定包含字符串的文件。 -h:當(dāng)多個(gè)文件被處理時(shí)隱藏文件名。 -i:當(dāng)進(jìn)行比較時(shí)忽略字母的大小寫(xiě)。 -l:只列出包含匹配行的文件名(一次)。文件名之間用換行符分隔。 n:將文件中每行的相對(duì)行號(hào)置于行前。 -pSeparator:顯示包含匹配行的整個(gè)段落。段落之間將按照Separator參數(shù)指定的段落分隔符加以分隔,這些分隔符是與搜索模式有著相同格式的模式。包含段落分隔符的行將僅用作分隔符;它們不會(huì)被包含在輸出中。缺省的段落分隔符是空白行。 -q:禁止所有寫(xiě)入到標(biāo)準(zhǔn)輸出的操作,不管是否為匹配行。如果選中輸入行,以 0 狀態(tài)退出。 -s:僅顯示出錯(cuò)消息。這在檢查狀態(tài)時(shí)很有用。 -v:顯示除了匹配特定模式的行以外的所有行。 -w:執(zhí)行單詞搜索。 -x:顯示匹配模式的行,要求無(wú)額外的字符。 -y:當(dāng)進(jìn)行比較時(shí)忽略字符的大小寫(xiě)。
此命令返回以下出口值:
0 找到匹配項(xiàng)。 1 未找到匹配項(xiàng)。 >1 發(fā)現(xiàn)語(yǔ)法錯(cuò)誤,或者文件不可訪問(wèn)(即使找到了匹配項(xiàng))。
搜索幾個(gè)文件中的一個(gè)簡(jiǎn)單字符串:
fgrep strcpy *.c
在當(dāng)前目錄下所有以 .c 字符串結(jié)尾的文件中搜索字符串 strcpy。
計(jì)數(shù)匹配某模式的行數(shù):
fgrep -c 『{』pgm.cfgrep -c 『}』pgm.c
顯示在 pgm.c 中包含左括號(hào)和右括號(hào)的行的數(shù)目。
如果在您的 C 程序中一行中沒(méi)有包含多于一個(gè) { (左括號(hào)) 或者 } (右括號(hào)),并且括號(hào)正確匹配,那么這兩個(gè)數(shù)字將是一樣的。如果這兩個(gè)數(shù)字不一樣,您可以將包含括號(hào)的行按照他們?cè)谖募械奈恢庙樞蝻@示出來(lái),使用以下命令:
egrep {\|} pgm.c
顯示包含某模式的文件名:
fgrep -l strcpy *.c
搜索當(dāng)前目錄下以 .c 結(jié)尾的文件,然后顯示包含 strcpy 字符串的文件名。
到此,相信大家對(duì)“Linux fgrep命令怎么使用”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。