日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式動態(tài)
[導(dǎo)讀]今天,我將向您展示一種非常有用的技術(shù),即使用grep命令查找多個字符串。 簡而言之,grep命令可以看作是功能強(qiáng)大的命令行工具,可用于在一個或多個輸入文件中查找與正則表達(dá)式匹配的文本,然后默認(rèn)顯示任何匹配的文本并將其記錄下來。

今天,我將向您展示一種非常有用的技術(shù),即使用grep命令查找多個字符串。 簡而言之,grep命令可以看作是功能強(qiáng)大的命令行工具,可用于在一個或多個輸入文件中查找與正則表達(dá)式匹配的文本,然后默認(rèn)顯示任何匹配的文本并將其記錄下來。

因此,向大家分享一下如何使用 grep命令的多種搜索模式以及使用 grep 搜索多個字符串:

多模式 Grep 命令

grep命令支持三種正則表達(dá)式語法:Basic、Extended 和 Perl-compatible 。當(dāng)沒有指定正則表達(dá)式類型時,grep 命令將搜索模式默認(rèn)為基本正則表達(dá)式。

要搜索多個匹配模式,可以使用 OR( alternation ) 運(yùn)算符。我們可以用 OR 運(yùn)算符 |( pipe )指定不同的匹配項(xiàng),這些匹配項(xiàng)可以是文本字符串,也可以是表達(dá)式集。值得注意的是,在所有正則表達(dá)式運(yùn)算符中,這個運(yùn)算符的優(yōu)先級是最低的。

使用 grep命令基本正則表達(dá)式搜索多個匹配模式的語法如下:

$ grep 'pattern1\|pattern2' filename

這里需要注意的是,始終要用單引號將正則表達(dá)式括起來,因?yàn)閱我杻?nèi)的內(nèi)容原樣輸出,被單引號括起的內(nèi)容不管是常量還是變量不會發(fā)生替換。

使用基本正則表達(dá)式時,元字符被解釋為字面字符。要保留元字符的特殊含義,必須用反斜杠(\ )對它們進(jìn)行轉(zhuǎn)義。這就是為什么我們要轉(zhuǎn)義 OR 運(yùn)算符(|)。

要將模式解釋為擴(kuò)展正則表達(dá)式,請調(diào)用 grep -E(或 --extended-regexp)選項(xiàng)。使用擴(kuò)展正則表達(dá)式時,不需要對 OR 運(yùn)算符 (|) 進(jìn)行轉(zhuǎn)義:

$ grep -E 'pattern1|pattern2' file

Grep命令搜索多個字符串

通常我們認(rèn)為,文字字符串是最基本的模式。

接下來我們將示例,搜索某用戶日志錯誤文件中出現(xiàn)的所有 fatalerror和 critical 字符串。語法如下:

$ grep 'fatal\|error\|critical' /var/log/nginx/error.log

還需要注意的是,如果要搜索的字符串包含空格,需要用雙引號將其括起來。

下面是使用擴(kuò)展正則表達(dá)式的同一個示例,它不需要轉(zhuǎn)義字符:

$ grep -E 'fatal|error|critical' /var/log/nginx/error.log

要學(xué)習(xí)好一門技術(shù),沒有一本可靠的好書怎么能行,今天就向大家推薦這本書,想在 Linux 的世界里傲游就趕緊下手別在猶豫!

默認(rèn)情況下,grep命令是區(qū)分大小寫的。要在搜索時忽略大小寫,請調(diào)用 grep 加 -i (或 --ignore-case )選項(xiàng),示例如下:

$ grep -i 'fatal|error|critical' /var/log/nginx/error.log

當(dāng)你只想搜索某個單詞時,比如你想搜索的是單詞 error ,grep命令會輸出所有包含 error 字符串的行,即它除了會輸出包含 error 單詞的行,還會輸出包含 errorless 或 antiterrorists 等非 error 單詞的行,這樣是極不方便的。

因此要僅返回指定字符串是整詞的行,或者是由非單詞字符括起來的行,可以使用 grep 加 -w (或 --word-regexp )選項(xiàng):

$ grep -w 'fatal|error|critical' /var/log/nginx/error.log

值得注意的是,單詞字符包括有字母、數(shù)字字符(比如 a-z、a-Z 和 0-9 )以及下劃線( _ ),所有其他字符都被視為非單詞字符。

總結(jié)

在工作中,我們經(jīng)常需要用到 grep命令來搜索字符串,學(xué)會了使用 grep 搜索多個字符串這個技巧,一定有機(jī)會用上的。實(shí)際上,grep 命令遠(yuǎn)不止本文所講的功能,如果你對 grep 命令的功能有任何疑問或者還想學(xué)習(xí)它的其他功能,請留言告訴我唄!

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉