欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用grep命令的多種搜索模式及搜索多個字符串

如意 ? 來源:良許Linux微信公眾號 ? 作者:良許 ? 2020-09-07 11:24 ? 次閱讀

大家好,我是良許!

今天向大家介紹一個非常有用的技巧,那就是使用 grep 命令查找多個字符串。

簡單介紹一下,grep 命令可以理解為是一個功能強大的命令行工具,可以用它在一個或多個輸入文件中搜索與正則表達(dá)式相匹配的文本,然后再將每個匹配的文本用標(biāo)準(zhǔn)輸出的格式寫出來。

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

多模式 Grep 命令

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

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

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

$ grep ‘pattern1\|pattern2’ filename

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

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

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

$ grep -E ‘pattern1|pattern2’ file

Grep命令搜索多個字符串

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

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

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

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

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

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

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

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

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

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

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

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

總結(jié)

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11352

    瀏覽量

    210534
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6901

    瀏覽量

    123819
  • 字符串
    +關(guān)注

    關(guān)注

    1

    文章

    585

    瀏覽量

    20613
  • grep
    +關(guān)注

    關(guān)注

    0

    文章

    23

    瀏覽量

    4749
收藏 人收藏

    評論

    相關(guān)推薦

    grep命令搜索字符串之技巧

    做嵌入式linux開發(fā)的,相信大家對source insight 再熟悉不過了,source insight非常強大,尤其當(dāng)我們的工程浩大,想要搜索個字符串如函數(shù)、宏時,source
    發(fā)表于 12-17 23:34

    如何判斷一個字符串開頭?

    命令以“$Cmd,”開頭,以“,”分隔,以“*”結(jié)尾。單片機回復(fù)以“$Message,”開頭,以“,”分隔,以“*”結(jié)尾。如果錯誤這以“$Message,ERROR,”開頭,以“,”分隔,以“*”結(jié)尾。我想問我如何判斷一個字符串開頭,判斷一
    發(fā)表于 09-11 22:13

    UART_LOOP_查詢接收多個字符串

    UART_LOOP_查詢接收多個字符串源碼
    發(fā)表于 01-21 11:11 ?6次下載

    Labview之搜索替換字符串

    Labview之搜索替換字符串,很好的Labview資料,快來下載學(xué)習(xí)吧。
    發(fā)表于 04-19 10:23 ?0次下載

    Linux中用grep命令搜索單詞及統(tǒng)計匹配的行數(shù)

    使用 grep 命令搜索多個單詞要使用 grep 命令
    發(fā)表于 04-02 14:46 ?672次閱讀

    如何利用Java判斷一個字符串是否包含某個字符

    如何利用Java通過不同的方法來判斷一個字符串是否包含某個字符。 **2 ****方法** 1. .contains方法
    的頭像 發(fā)表于 02-17 15:13 ?1572次閱讀
    如何利用Java判斷一<b class='flag-5'>個字符串</b>是否包含某<b class='flag-5'>個字符</b>

    C語言字符串的引用方式

    在C語言程序中,字符串是存放在字符數(shù)組中的。 2. 用字符數(shù)組存放一個字符串,可以通過數(shù)組名和下標(biāo)引用字符串中的一
    的頭像 發(fā)表于 03-10 14:57 ?2013次閱讀

    Python中檢查字符串包含的方法

    Python 有多種處理字符串的方法。今天我們介紹如何檢查一個字符串中是否包含另一個字符串。
    的頭像 發(fā)表于 05-14 16:02 ?1.6w次閱讀

    KUKA機器人: 如何比較兩個字符串變量

    用功能 StrComp() 可以比較兩個字符串變量。 Comp = StrComp( StrComp1[], StrComp2[], CaseSens )
    的頭像 發(fā)表于 07-10 09:27 ?1067次閱讀

    mysql字符串包含某個字符串

    將詳盡、詳實、細(xì)致地探討MySQL中字符串包含的實現(xiàn)方法。 在MySQL中,可以通過使用內(nèi)建函數(shù)和通配符來實現(xiàn)字符串包含的操作。下面將詳細(xì)介紹幾種常用的方法: 使用LIKE通配符: LIKE是MySQL中用于模式匹配的通配符,可
    的頭像 發(fā)表于 11-16 14:52 ?3961次閱讀

    linux搜索文件里的字符串

    在Linux系統(tǒng)中,我們可以使用各種方法來搜索文件中的字符串。在本文中,我將為您詳細(xì)介紹幾種常用的方法和工具。讓我們開始吧! grep命令 grep
    的頭像 發(fā)表于 11-23 10:20 ?1621次閱讀

    oracle判斷字符串包含某個字符

    包含某個字符,以及介紹使用的相關(guān)函數(shù)。 正文: 一、使用INSTR函數(shù)進行判斷: INSTR函數(shù)是Oracle中最常用的字符串函數(shù)之一,它用于查找字符串中是否包含某個字符。INSTR函
    的頭像 發(fā)表于 12-06 09:53 ?1.6w次閱讀

    oracle字符串split成多個

    Oracle是一種廣泛使用的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它提供了許多強大的功能和函數(shù),用于處理和操作數(shù)據(jù)。其中之一就是字符串分割(split)方法,該方法用于將一個字符串按照指定的分隔符分割成多個
    的頭像 發(fā)表于 12-06 09:54 ?5490次閱讀

    Linux grep命令詳解

    Linux grep命令是一種非常常用的文本搜索工具,它可以在給定的文件中搜索匹配的字符串,并輸出匹配的行。
    的頭像 發(fā)表于 12-25 09:39 ?278次閱讀

    字符串反轉(zhuǎn)的實現(xiàn)方式

    在編程中,字符串反轉(zhuǎn)是一個基礎(chǔ)而重要的操作,它涉及到將一個字符串中的字符順序顛倒過來。這個操作在多種編程語言中都有不同的實現(xiàn)方式,本文將探討幾種常見的
    的頭像 發(fā)表于 01-07 15:27 ?214次閱讀