十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專(zhuān)業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
grep 命令
NAME
grep, egrep, fgrep - 打印匹配給定模式的行
總覽 SYNOPSIS
grep [options] PATTERN [FILE...]
grep [options] [-e PATTERN | -f FILE] [FILE...]
描述 DESCRIPTION
Grep?? 搜索以? FILE? 命名的文件輸入? (或者是標(biāo)準(zhǔn)輸入,如果沒(méi)有指定文件名,或者給出的文件名是? -
的話),尋找含有與給定的模式????? PATTERN?????? 相匹配的內(nèi)容的行。?????? 默認(rèn)情況下,?????? grep
將把含有匹配內(nèi)容的行打印出來(lái)。
另外,也可以使用兩個(gè)變種程序 egrep 和 fgrep 。 Egrep 與 grep -E 相同。 Fgrep 與 grep -F 相同。
選項(xiàng) OPTIONS
-A NUM, --after-context=NUM
? 打印出緊隨匹配的行之后的下文 NUM 行。在相鄰的匹配組之間將會(huì)打印內(nèi)容是 -- 的一行。
-a, --text
? 將一個(gè)二進(jìn)制文件視為一個(gè)文本文件來(lái)處理;它與 --binary-files=text 選項(xiàng)等價(jià)。
-B NUM, --before-context=NUM
? 打印出匹配的行之前的上文 NUM 行。在相鄰的匹配組之間將會(huì)打印內(nèi)容是 -- 的一行。
-C NUM, --context=NUM
? 打印出匹配的行的上下文前后各 NUM 行。在相鄰的匹配組之間將會(huì)打印內(nèi)容是 -- 的一行。
-b, --byte-offset
? 在輸出的每行前面同時(shí)打印出當(dāng)前行在輸入文件中的字節(jié)偏移量。
--binary-files=TYPE
? 如果一個(gè)文件的起始幾個(gè)字節(jié)表明文件包含二進(jìn)制數(shù)據(jù),那么假定文件是??????????????????? TYPE
? 類(lèi)型的。默認(rèn)情況下,???????? TYPE???????? 是???????? binary???????? ,并且????????? grep
? 一般會(huì)輸出一個(gè)一行的消息說(shuō)一個(gè)二進(jìn)制文件匹配,或者如果沒(méi)有匹配的話就沒(méi)有消息輸出。如果類(lèi)型
? TYPE 是 without-match ,那么 grep 假定二進(jìn)制文件不會(huì)匹配;這樣做與 -I 選項(xiàng)等價(jià)。如果類(lèi)型
? TYPE? 是? text ,那么 grep 將一個(gè)二進(jìn)制文件視為文本文件來(lái)處理;它與 -a 選項(xiàng)等價(jià)。 警告:
? grep???????????????????????????????????????????????????????????????? --binary-files=text
? 可能會(huì)輸出二進(jìn)制的無(wú)用內(nèi)容。如果輸出設(shè)備是一個(gè)終端,并且終端的驅(qū)動(dòng)將這些輸出中的一些當(dāng)作命
令,可能會(huì)帶來(lái)惡劣的副作用。
--colour[=WHEN], --color[=WHEN]
? 在匹配的行周?chē)?GREP_COLOR 環(huán)境變量中指定的記號(hào)來(lái)標(biāo)記。WHEN 可以是? `never',? `always',
? 或是 `auto'。
-c, --count
? 禁止通常的輸出;作為替代,為每一個(gè)輸入文件打印一個(gè)匹配的行的總數(shù)。如果使用 -v, --invert-
? match 選項(xiàng) (參見(jiàn)下面),將是不匹配的行的總數(shù)。
-D ACTION, --devices=ACTION
? 如果輸入文件是一個(gè)設(shè)備,F(xiàn)IFO????? 或是套接字????? (socket)?????? ,使用動(dòng)作?????? ACTION
? 來(lái)處理它。默認(rèn)情況下,動(dòng)作? ACTION? 是 read ,意味著設(shè)備將視為普通文件那樣來(lái)讀。如果動(dòng)作
? ACTION 是 skip ,將不處理而直接跳過(guò)設(shè)備。
-d ACTION, --directories=ACTION
? 如果輸入文件是一個(gè)目錄,使用動(dòng)作? ACTION? 來(lái)處理它。默認(rèn)情況下,動(dòng)作? ACTION?? 是?? read
? ,意味著目錄將視為普通文件那樣來(lái)讀。如果動(dòng)作?????????? ACTION?????????? 是????????? skip
? ,將不處理而直接跳過(guò)目錄。如果動(dòng)作????? ACTION????? 是?????? recurse?????? ,?????? grep
? 將遞歸地讀每一目錄下的所有文件。這樣做和 -r 選項(xiàng)等價(jià)。
-E, --extended-regexp
? 將模式 PATTERN 作為一個(gè)擴(kuò)展的正則表達(dá)式來(lái)解釋 (參見(jiàn)下面)。
-e PATTERN, --regexp=PATTERN
? 使用模式 PATTERN 作為模式;在保護(hù)以 - 為起始的模式時(shí)有用。
-F, --fixed-strings
? 將模式?????????? PATTERN????????? 視為一個(gè)固定的字符串的列表,用新行????????? (newlines)
? 分隔,只要匹配其中之一即可。
-P, --perl-regexp
? 將模式 PATTERN 作為一個(gè) Perl 正則表達(dá)式來(lái)解釋。
-f FILE, --file=FILE
? 從文件 FILE 中獲取模式,每行一個(gè)??瘴募?個(gè)模式,因此不匹配任何東西。
-G, --basic-regexp
? 將模式 PATTERN 作為一個(gè)基本的正則表達(dá)式 (參見(jiàn)下面) 來(lái)解釋。這是默認(rèn)值。
-H, --with-filename
? 為每個(gè)匹配打印文件名。
-h, --no-filename
? 當(dāng)搜索多個(gè)文件時(shí),禁止在輸出的前面加上文件名前綴。
--help 輸出一個(gè)簡(jiǎn)短的幫助信息。
-I???? 處理一個(gè)二進(jìn)制文件,但是認(rèn)為它不包含匹配的內(nèi)容。這和??????? --binary-files=without-match
? 選項(xiàng)等價(jià)。
-i, --ignore-case
? 忽略模式 PATTERN 和輸入文件中的大小寫(xiě)的分別。
-L, --files-without-match
? 禁止通常的輸出;作為替代,打印出每個(gè)在通常情況下不會(huì)產(chǎn)生輸出的輸入文件的名字。對(duì)每個(gè)文件的
掃描在遇到第一個(gè)匹配的時(shí)候就會(huì)停止。
-l, --files-with-matches
? 禁止通常的輸出;作為替代,打印出每個(gè)在通常情況下會(huì)產(chǎn)生輸出的輸入文件的名字。對(duì)每個(gè)文件的掃
描在遇到第一個(gè)匹配的時(shí)候就會(huì)停止。
-m NUM, --max-count=NUM
? 在找到?????????????????????????????????????????????????????????????????????????????? NUM
? 個(gè)匹配的行之后,不再讀這個(gè)文件。如果輸入是來(lái)自一個(gè)普通文件的標(biāo)準(zhǔn)輸入,并且已經(jīng)輸出了 NUM
? 個(gè)匹配的行,??????????????????????????????????????????????????????????????????????? grep
? 保證標(biāo)準(zhǔn)輸入被定位于退出時(shí)的最后一次匹配的行之后,不管是否指定了要輸出緊隨的下文的行。這樣
可以使一個(gè)調(diào)用程序恢復(fù)搜索。當(dāng)
? grep? 在? NUM? 個(gè)匹配的行之后停止,它會(huì)輸出任何緊隨的下文的行。當(dāng)使用了? -c? 或? --count
? 選項(xiàng)的時(shí)候, grep 不會(huì)輸出比 NUM 更多的行。當(dāng)指定了 -v? 或? --invert-match? 選項(xiàng)的時(shí)候,
? grep 會(huì)在輸出 NUM 個(gè)不匹配的行之后停止。
--mmap 如果可能的話,使用??????? mmap(2)??????? 系統(tǒng)調(diào)用來(lái)讀取輸入,而不是默認(rèn)的??????? read(2)
? 系統(tǒng)調(diào)用。在一些情況下,??? --mmap???? 提供較好的性能。但是,如果一個(gè)輸入文件在???? grep
? 正在操作時(shí)大小發(fā)生變化,或者如果發(fā)生了一個(gè)?? I/O?? 錯(cuò)誤,?? --mmap? 可能導(dǎo)致不可知的行為
? (包括core dumps)。
-n, --line-number
? 在輸出的每行前面加上它所在的文件中它的行號(hào)。
-o, --only-matching
? 只顯示匹配的行中與 PATTERN 相匹配的部分。
--label=LABEL
? 將實(shí)際上來(lái)自標(biāo)準(zhǔn)輸入的輸入視為來(lái)自輸入文件???????? LABEL???????? 。這對(duì)于????????? zgrep
? 這樣的工具非常有用,例如: gzip -cd foo.gz |grep --label=foo something
--line-buffering
? 使用行緩沖,it can be a performance penality.
-q, --quiet, --silent
? 安靜。不向標(biāo)準(zhǔn)輸出寫(xiě)任何東西。如果找到任何匹配的內(nèi)容就立即以狀態(tài)值???????????????????? 0
? 退出,即使檢測(cè)到了錯(cuò)誤。 參見(jiàn) -s 或 --no-messages 選項(xiàng)。
-R, -r, --recursive
? 遞歸地讀每一目錄下的所有文件。這樣做和 -d recurse 選項(xiàng)等價(jià)。
?? --include=PATTERN
? 僅僅在搜索匹配 PATTERN 的文件時(shí)在目錄中遞歸搜索。
?? --exclude=PATTERN
? 在目錄中遞歸搜索,但是跳過(guò)匹配 PATTERN 的文件。
-s, --no-messages
? 禁止輸出關(guān)于文件不存在或不可讀的錯(cuò)誤信息。???? 對(duì)于可移植性需要注意:與???? GNU???? grep
? 不同,傳統(tǒng)的? grep? 不遵守? POSIX.2? 規(guī)范,因?yàn)閭鹘y(tǒng)的? grep? 缺少一個(gè) -q 選項(xiàng),而它的 -s
? 選項(xiàng)與 GNU grep 的 -q 選項(xiàng)行為相似。需要可移植到傳統(tǒng) grep 的 shell? 腳本應(yīng)當(dāng)避免使用? -q
? 和 -s 選項(xiàng),而應(yīng)當(dāng)將輸出重定向到 /dev/null 。
-U, --binary
? 將文件視為二進(jìn)制。默認(rèn)情況下,在????? MS-DOS???? 和???? MS-Windows???? 系統(tǒng)中,???? grep
? 通過(guò)從文件中讀取頭部的????????? 32kB????????? 內(nèi)容來(lái)判斷它的文件類(lèi)型。如果????????? grep
? 判斷文件是一個(gè)文本文件,它將原始文件內(nèi)容中的??? CR??? 字符去除??? (使得含有?? ^?? 和?? $
? 的正則表達(dá)式可以正常工作)。指定?????????????????????????????????????????????????????? -U
? 將不進(jìn)行這些工作,而使所有文件保持不變地讀取并傳遞給匹配機(jī)制。如果文件是一個(gè)以???? CR/LF
? 換行的文本文件,這樣作將導(dǎo)致一些正則表達(dá)式失敗。這個(gè)選項(xiàng)在??? MS-DOS??? 和??? MS-Windows
? 之外的系統(tǒng)中無(wú)效。
-u, --unix-byte-offsets
? 報(bào)告?? Unix?? 風(fēng)格的字節(jié)偏移量。這個(gè)開(kāi)關(guān)使得?? grep?? 報(bào)告字節(jié)偏移量時(shí),將文件作為? Unix
? 風(fēng)格的文本文件看待,也就是說(shuō)將? CR? 字符去掉。這將產(chǎn)生與在一臺(tái)? Unix?? 主機(jī)上運(yùn)行?? grep
? 完全相同的結(jié)果。除非同時(shí)使用? -b 選項(xiàng),否則這個(gè)選項(xiàng)無(wú)效。這個(gè)選項(xiàng)在 MS-DOS 和 MS-Windows
? 之外的系統(tǒng)中無(wú)效。
-V, --version
? 向標(biāo)準(zhǔn)錯(cuò)誤輸出打印 grep 的版本號(hào)。版本號(hào)應(yīng)當(dāng)包含在所有的 bug 報(bào)告中 (參見(jiàn)下面)。
-v, --invert-match
? 改變匹配的意義,只選擇不匹配的行。
-w, --word-regexp
? 只選擇含有能組成完整的詞的匹配的行。判斷方法是匹配的子字符串必須是一行的開(kāi)始,或者是在一個(gè)
不可能是詞的組成的字符之后。與此相似,它必須是一行的結(jié)束,或者是在一個(gè)不可能是詞的組成的字符之前。詞的組
成字符是字母,數(shù)字,還有下劃線。
-x, --line-regexp
? 只選擇能匹配完整一行的匹配。
-y???? -i 的同義詞,廢棄不用。
-Z, --null
? 輸出一個(gè)全零字節(jié)? (ASCII 碼中的 NUL 字符) 而不是一般情況下輸出在文件名之后的字符。例如,
? grep???????????????????????????????????????????????????????????????????????????????? -lZ
? 在每個(gè)文件名之后輸出一個(gè)全零字節(jié)而不是普通的新行符。這個(gè)選項(xiàng)使得輸出清楚明白,即使文件名的
表示中包含特殊字符比如新行符。這個(gè)選項(xiàng)可以與命令
? find????? -print0,????? perl????? -0,?????? sort?????? -z,?????? 和?????? xargs?????? -0
? 一起使用,來(lái)處理任意的文件名,即使是那些含有新行符的文件名。
正則表達(dá)式 REGULAR EXPRESSIONS
一個(gè)正則表達(dá)式是一個(gè)描述了一個(gè)字符串集合的模式。正則表達(dá)式的構(gòu)造類(lèi)似于算術(shù)表達(dá)式,使用各種各樣的操作符來(lái)將更小的表達(dá)式連在一起。
Grep????? 能理解兩種不同版本的正則表達(dá)式語(yǔ)法:“basic”????? 和????? “extended”。在????? GNU grep
中,兩種語(yǔ)法可以實(shí)現(xiàn)的功能是沒(méi)有區(qū)別的。在其他實(shí)現(xiàn)中,基本????????????????????????????? (basic)
正則表達(dá)式表達(dá)能力要弱一點(diǎn)。下面的描述適用于擴(kuò)展的?????????????????????????????????? (extended)
正則表達(dá)式,它與基本正則表達(dá)式的區(qū)別會(huì)在最后做一個(gè)總結(jié)。
基本的構(gòu)造塊是匹配單個(gè)字符的正則表達(dá)式。大部分字符,包括所有字母和數(shù)字,是匹配它們自身的正則表達(dá)式。任何具有特殊含義的元字符可以通過(guò)前置一個(gè)反斜杠來(lái)引用。(may
be quoted by preceding it with a backslash.)
方括號(hào)表達(dá)式????????? (bracket)????????? 是一個(gè)字符序列,放在????????? [????????? 和????????? ]
當(dāng)中。它匹配序列中的任何一個(gè)字符;如果序列中的第一個(gè)字符是脫字符?? (caret)? ^? 那么它匹配? 不在
序列中的任何一個(gè)字符。例如,正則表達(dá)式 [0123456789] 匹配任何一個(gè)數(shù)字。
在方括號(hào)表達(dá)式之中,一個(gè)?? 范圍表達(dá)式?? (range)??? 由兩個(gè)字符組成,中間用一個(gè)連字符??? (hyphen)
分隔。它匹配在這兩個(gè)字符之間的任何一個(gè)字符,使用本地化的序列順序和字符集。(that? sorts? between
the two characters,inclusive,? using? the? locale's? collating? sequence? and? character? set.)
例如,在默認(rèn)的???? C???? locale中,???? [a-d]???? 與???? [abcd]??? 等價(jià)。典型的,許多??? locale
將字符以字典順序排序,在這些? locale? 中,? [a-d]? 不與? [abcd]? 等價(jià);例如它可能與?? [aBbCcDd]
等價(jià)。要獲得傳統(tǒng)的對(duì)方括號(hào)表達(dá)式的解釋?zhuān)梢栽O(shè)定環(huán)境變量 LC_ALL 值為 C 來(lái)使用 locale C 。
最后,在方括號(hào)表達(dá)式中有一些預(yù)定義的字符類(lèi),如下所示。它們的名字是自說(shuō)明的,它們是
[:alnum:](字母和數(shù)字),??? [:alpha:](字母),??? [:cntrl:](),??? [:digit:](數(shù)字),???? [:graph:](),
[:lower:](小寫(xiě)字母),? [:print:](可打印字符), [:punct:](), [:space:](空格), [:upper:](大寫(xiě)字母),
和 [:xdigit:] 。例如,? [[:alnum:]]? 意思是? [0-9A-Za-z]? ,但是后一種表示方法依賴(lài)于? locale? C
和ASCII????????????????????????????? 字符編碼,而前一種是與????????????????????????????? locale
和字符集無(wú)關(guān)的。(注意這些字符類(lèi)名中的方括號(hào)也是符號(hào)名稱(chēng)的一部分,必須包含在用來(lái)為序列定界的方括號(hào)
之中。)
大多數(shù)元字符處于序列中時(shí)會(huì)失去它們的特殊意義。為了包含一個(gè)字面意義????? (literal)????? 的???? ]
,需要將它放在序列的最前。與此相似,為了包含一個(gè)字面意義???????? (literal)???????? 的???????? ^
,需要將它放在除了序列最前之外的其他位置。最后,為了包含一個(gè)字面意義???? (literal)???? 的???? -
,需要將它放在序列最后。
句點(diǎn)符 (period) .? 匹配任何一個(gè)字符。符號(hào)? \w? 是? [[:alnum:]]? 的同義詞,? \W? 是? [^[:alnum]]
的同義詞。
脫字符? (caret)? ^ 和美元標(biāo)記 (dollar) $ 分別是匹配一行的首部和尾部的空字串的元字符。符號(hào) \< 和
\> 分別是匹配一個(gè)詞的首部和尾部的空字串的元字符。符號(hào) \b 匹配一個(gè)詞邊緣? (edge)? 的空字串,符號(hào)
\B 匹配 不 處于一個(gè)詞的邊緣的空字串。
一個(gè)正則表達(dá)式后面可以跟隨多種重復(fù)操作符之一。
?????? 先前的項(xiàng)是可選的,最多匹配一次。
*????? 先前的項(xiàng)可以匹配零次或多次。
+????? 先前的項(xiàng)可以匹配一次或多次。
{n}??? 先前的項(xiàng)將匹配恰好 n 次。
{n,}?? 先前的項(xiàng)可以匹配 n 或更多次。
{n,m}? 先前的項(xiàng)將匹配至少 n 詞,但是不會(huì)超過(guò) m 次。
兩個(gè)正則表達(dá)式可以連接到一起;得出的正則表達(dá)式可以匹配任何由兩個(gè)分別匹配連接前的子表達(dá)式的子字符串連接而成的字符串。
兩個(gè)正則表達(dá)式可以用中綴操作符??????????????????????????????????????????????????????????????? |
聯(lián)合到一起,得出的正則表達(dá)式可以匹配任何匹配聯(lián)合前的任何一個(gè)子表達(dá)式的字符串。
重復(fù)操作符的優(yōu)先級(jí)比連接高,接下來(lái)又比選擇的優(yōu)先級(jí)高。一個(gè)完整的子表達(dá)式可以用圓括號(hào) (parenthe‐
ses) 括住來(lái)超越這些優(yōu)先級(jí)規(guī)則。(to override these precedence rules.)
反向引用???????? \n???????? 中,???????? n???????? 是一個(gè)數(shù)字,匹配正則表達(dá)式中,以第???????? n
個(gè)圓括號(hào)括住的子表達(dá)式已匹配的子字符串。
在基本正則表達(dá)式中,元字符? ?,? +, {, |, (, 和 ) 喪失了它們的特殊意義;作為替代,使用加反斜杠的
(backslash) 版本 \?, \+, \{, \|, \(, 和 \) 。
傳統(tǒng)的???? egrep???? 不支持元字符????? {????? ,并且一些????? egrep????? 的實(shí)現(xiàn)通過(guò)支持????? \{
來(lái)代替它,因此可移植的腳本應(yīng)當(dāng)避免? 在? egrep? 中使用? {? 模式,應(yīng)當(dāng)使用 [{] 來(lái)匹配一個(gè)字面意義
(literal) 的 { 。
GNU???? egrep???? 通過(guò)假設(shè)如果???? {???? 處于???? an???? invalid???? interval???? specification
的起始,就不是一個(gè)特殊字符,來(lái)支持傳統(tǒng)的用法。例如,shell???????? 命令??????? egrep??????? '{1'
將會(huì)搜索這個(gè)兩字符的字符串????????? {1????????? 而不是報(bào)告在正則表達(dá)式中發(fā)生了語(yǔ)法錯(cuò)誤。POSIX.2
允許這個(gè)行為,將其視為一個(gè)擴(kuò)展,但是可移植的腳本應(yīng)當(dāng)避免使用它。
環(huán)境變量 ENVIRONMENT VARIABLES
Grep 的行為受下列環(huán)境變量影響。
一個(gè)?????? locale?????? LC_foo?????? 是通過(guò)按下面的順序,?????? LC_ALL,????? LC_foo,????? LANG,
檢查這三個(gè)環(huán)境變量的取值而確定的。設(shè)置了的第一個(gè)變量指定了????? locale。例如,如果?????? LC_ALL
沒(méi)有設(shè)置,但是? LC_MESSAGES? 設(shè)置為? pt_BR? ,那么巴西的葡萄牙語(yǔ)? (Brazilian Portuguese) 將用作
LC_MESSAGES?? locale?? 的值。如果沒(méi)有設(shè)置這其中任何一個(gè)環(huán)境變量,或者沒(méi)有安裝所設(shè)置的??? locale
目錄,或者如果 grep 沒(méi)有將國(guó)家和語(yǔ)言支持 (national language support (NLS)) 編譯在內(nèi),將默認(rèn)使用
locale C。
GREP_OPTIONS
? 這個(gè)變量指定了將放在所有顯式指定的選項(xiàng)之前的默認(rèn)選項(xiàng)。例如,如果???? GREP_OPTIONS???? 是
? '--binary-files=without-match????????? --directories=skip'????????? 的話,????????? grep
? 將像已經(jīng)在任何顯式指定的選項(xiàng)之前指定了?? --binary-files=without-match?? 和??? --directo‐
? ries=skip??? 選項(xiàng)那樣來(lái)運(yùn)作。選項(xiàng)以空白??? (whitespace)?? 分隔。一個(gè)反斜杠?? (backslash)
? 使得下一個(gè)字符轉(zhuǎn)義 (escape),因此可以用來(lái)指定一個(gè)含有空白或者反斜杠的選項(xiàng)。
GREP_COLOR
? 指定用來(lái)高亮顯示的標(biāo)記。
LC_ALL, LC_COLLATE, LANG
? 這些變量指定了 locale LC_COLLATE ,決定了解釋類(lèi)似 [a-z]? 的范圍表達(dá)式時(shí)的序列順序? (col‐
? lating sequence) 。
LC_ALL, LC_CTYPE, LANG
? 這些選項(xiàng)指定了 locale LC_CTYPE ,決定了字符的類(lèi)型,例如,哪些字符是空白 (whitespace) 。
LC_ALL, LC_MESSAGES, LANG
? 這些選項(xiàng)指定了? locale? LC_MESSAGES? ,決定了? grep? 的消息使用的語(yǔ)言。默認(rèn)的? locale? C
? 使用美國(guó)英語(yǔ)的消息。
POSIXLY_CORRECT
? 如果設(shè)置了的話,? grep? 將像? POSIX.2?? 要求的那樣來(lái)運(yùn)作;否則,?? grep?? 將像其他?? GNU
? 程序一樣來(lái)運(yùn)作。POSIX.2
? 要求文件名之后的選項(xiàng)必須視為文件名;默認(rèn)情況下,這些選項(xiàng)被交換到操作數(shù)列表的前面,被當(dāng)作選
項(xiàng)來(lái)處理。同時(shí),
? POSIX.2??????????????????? 要求不可識(shí)別的選項(xiàng)在診斷消息中表示為?????????????????? “ille‐
? gal”,但是既然它們沒(méi)有真正觸犯法律,因此默認(rèn)情況下它們?cè)谠\斷?? (diagnose)?? 消息中表示為
? “invalid”。 POSIXLY_CORRECT 同時(shí)禁止了下面描述的 _N_GNU_nonoption_argv_flags_。
_N_GNU_nonoption_argv_flags_
? (這里? N? 是 grep's 數(shù)字形式的進(jìn)程ID。) 如果這個(gè)環(huán)境變量的值的第 i 個(gè)字符是 1 ,那么不將
? grep??????????? 的第??????????? i??????????? 個(gè)操作數(shù)視為一個(gè)選項(xiàng),即使它看上去像。shell
? 可以將這個(gè)變量設(shè)置在它運(yùn)行的每個(gè)命令的環(huán)境中,指定哪個(gè)操作數(shù)是文件名通配符擴(kuò)展的結(jié)果,因此
不應(yīng)當(dāng)被視為選項(xiàng)。這個(gè)行為只有在使用
? GNU C 庫(kù)時(shí)有效,并且只有在 POSIXLY_CORRECT 沒(méi)有設(shè)置的時(shí)候。
診斷 DIAGNOSTICS
一般地,如果找到了選擇的行,退出時(shí)狀態(tài)值為0,否則為1。但是如果發(fā)生錯(cuò)誤,退出時(shí)狀態(tài)值是2,除非指定
了
-q 或 --quiet 或 --silent 選項(xiàng),并且找到了選擇的行。
BUGS
bug 報(bào)告的電子郵件地址是 bug-gnu-utils@gnu.org。 一定要在“Subject:”中帶有 “grep” 這個(gè)詞。
在??????????????????? {n,m}??????????????????? 結(jié)構(gòu)中重復(fù)次數(shù)過(guò)多會(huì)導(dǎo)致??????????????????? grep
使用大量?jī)?nèi)存。另外,一些過(guò)分晦澀的正則表達(dá)式需要指數(shù)級(jí)的時(shí)間和空間,可能會(huì)導(dǎo)致???????????? grep
耗盡所有內(nèi)存。
向后引用 (backreferences) 非常慢,可能需要指數(shù)級(jí)的時(shí)間。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。