<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
grep 命令支援三種正規表示式語法:Basic、Extended 和 Perl-compatible 。當沒有指定正規表示式型別時,grep 命令將搜尋模式預設為基本正規表示式。
要搜尋多個匹配模式,可以使用 OR ( alternation ) 運運算元。我們可以用 OR 運運算元 |( pipe )指定不同的匹配項,這些匹配項可以是文字字串,也可以是表示式集。值得注意的是,在所有正規表示式運運算元中,這個運運算元的優先順序是最低的。
使用 grep 命令基本正規表示式搜尋多個匹配模式的語法如下:
$ grep 'pattern1|pattern2' filename
這裡需要注意的是,始終要用單引號將正規表示式括起來,因為單引號內的內容原樣輸出,被單引號括起的內容不管是常數還是變數不會發生替換。
使用基本正規表示式時,元字元被解釋為字面字元。要保留元字元的特殊含義,必須用反斜槓( )對它們進行跳脫。這就是為什麼我們要跳脫 OR 運運算元(|)。
要將模式解釋為擴充套件正規表示式,請呼叫 grep -E(或 --extended-regexp )選項。使用擴充套件正規表示式時,不需要對 OR 運運算元 (|) 進行跳脫:
$ grep -E 'pattern1|pattern2' file
通常我們認為,文字字串是最基本的模式。
接下來我們將範例,搜尋某使用者紀錄檔錯誤檔案中出現的所有 fatal、error 和 critical 字串。語法如下:
$ grep 'fatal|error|critical' /var/log/nginx/error.log
還需要注意的是,如果要搜尋的字串包含空格,需要用雙引號將其括起來。
下面是使用擴充套件正規表示式的同一個範例,它不需要跳脫字元:
$ grep -E 'fatal|error|critical' /var/log/nginx/error.log
預設情況下,grep 命令是區分大小寫的。要在搜尋時忽略大小寫,請呼叫 grep 加 -i (或 --ignore-case )選項,範例如下:
$ grep -i 'fatal|error|critical' /var/log/nginx/error.log
當你只想搜尋某個單詞時,比如你想搜尋的是單詞 error ,grep 命令會輸出所有包含 error 字串的行,即它除了會輸出包含 error 單詞的行,還會輸出包含 errorless 或 antiterrorists 等非 error 單詞的行,這樣是極不方便的。
因此要僅返回指定字串是整詞的行,或者是由非單詞字元括起來的行,可以使用 grep 加 -w (或 --word-regexp )選項:
$ grep -w 'fatal|error|critical' /var/log/nginx/error.log
值得注意的是,單詞字元包括有字母、數位字元(比如 a-z、a-Z 和 0-9 )以及下劃線( _ ),所有其他字元都被視為非單詞字元。
grep pattern1 files | grep pattern2 :顯示既匹配 pattern1 又匹配 pattern2 的行。
grep word1 file.txt | grep word2 |grep word3
必須同時滿足三個條件(word1、word2和word3)才匹配。
grep匹配任意關鍵字
grep -E 'str1|str2|str3' filename //找出檔案(filename)中包含str1或者包含str2或者包含str3的行
egrep實現
egrep 'str1|str2|str3' filename //用egrep同樣可以實現
awk實現
awk '/str1|str2/str3/' filename //awk 的實現方式
grep -i pattern filename #不區分大小寫地搜尋。預設情況區分大小寫。 grep -l pattern filename #只列出匹配的檔名。 grep -L pattern filename #列出不匹配的檔名。 grep -w pattern filename #只匹配整個單詞,而不是字串的一部分(如匹配‘magic',而不是‘magical')。
參考文章:
到此這篇關於linux shell中Grep命令查詢多個字串(grep同時匹配多個關鍵字或任意關鍵字)的文章就介紹到這了,更多相關shell Grep命令查詢多個字串內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45