多個字串和模式使用grep
導讀 | grep是一個功能強大的 行工具,可讓您在一個或多個輸入檔案中搜尋與正規表示式匹配的行,並將每個匹配的行寫入標準輸出。 |
在本文中,我們將向您展示如何使用GNU grep搜尋多個字串或模式。
GNU grep支援三種正規表示式語法,Basic,Extended和Perl相容。 如果未指定任何正規表示式型別,則grep會將搜尋模式解釋為基本正規表示式。
要搜尋多個模式,請使用OR(交替)運算子。
交替運算子 |(豎線)允許您指定不同的可能匹配項,這些匹配項可以是文字字串或表示式集。 在所有正規表示式運算子中,此運算子的優先順序最低。
使用grep基本正規表示式搜尋多個模式的語法如下:
grep 'pattern1\|pattern2' file...
例項:
[linuxidc@linux:~/]$ grep 'MainWindow\|QComboBox' linuxidc.py
使用基本正規表示式時,元字元將解釋為文字字元。 為了保留元字元的特殊含義,必須使用反斜槓(\)對其進行轉義。 這就是為什麼我們用斜槓轉義OR運算子(|)的原因。
要將模式解釋為擴充套件的正規表示式,請呼叫grep -E(或--extended-regexp)選項。 使用擴充套件的正規表示式時,不要轉義|運算子:
$grep -E 'pattern1|pattern2' file...
[linuxidc@linux:~/]$ grep -E 'MainWindow|QComboBox' linuxidc.py
文字字串是最基本的模式。
在以下示例中,我們正在Nginx日誌錯誤檔案中搜尋所有出現致命,錯誤和嚴重的單詞:
$grep 'fatal\|error\|critical' /var/log/nginx/error.log
如果要搜尋的字串包含空格,請用雙引號將其引起來。
這是使用擴充套件正規表示式的相同示例,它消除了對運算子|進行轉義的需要。
$grep -E 'fatal|error|critical' /var/log/nginx/error.log
預設情況下,grep區分大小寫。 這意味著將大寫和小寫字元視為不同的字元。
要在搜尋時忽略大小寫,請使用-i選項呼叫grep(或 --ignore-case):
$grep -i 'fatal\|error\|critical' /var/log/nginx/error.log
搜尋字串時,grep將顯示該字串嵌入較大字串中的所有行。 因此,如果您要搜尋“錯誤”,則grep還將在較大的單詞(例如“ errorless”或“ antiterrorists”)中嵌入“ error”的行。
要僅返回指定字串是整個單詞(用非單詞字元括起來)的那些行,請使用-w(或--word-regexp)選項:
$grep -w 'fatal\|error\|critical' /var/log/nginx/error.log
文字字元包括字母數字字元(a-z,A-Z和0-9)和下劃線(_)。 所有其他字元均視為非單詞字元。
我們已經向您展示瞭如何grep搜尋多個模式,字串和單詞。
如果您有任何問題或反饋,請隨時發表評論。
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2892943/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用grep搜尋多個字串字串
- grep 命令系列:使用 grep 命令來搜尋多個單詞
- grep -r “字串” 目錄名的使用字串
- grep sed 大批次替換字串字串
- grep命令使用
- 如何使用 Linux 的 grep 和 fgrep 命令Linux
- grep 的使用場景
- 15個Linux Grep命令使用例項(實用、常用)Linux
- Linux shell grep 或 egrep 或awk過濾兩個或多個關鍵詞Linux
- solaris_批次替換指定字串_find_xargs_grep字串
- 14 個 grep 命令的例子
- Linux grep命令的使用Linux
- 如何用python判斷列表中是否包含多個字串中的一個或多個?Python字串
- linux下的find 和 grepLinux
- 【Linux】find指令和grep指令!!!Linux
- 如何使用grep命令的排除功能
- Windows 系統下使用grep 命令Windows
- 14 個 Linux grep 命令的例子Linux
- JavaScript將字串中的多個空格縮減為一個空格JavaScript字串
- C# 字串中多個連續空格轉為一個空格C#字串
- 290.單詞模式。給定一種 pattern(模式) 和一個字串 str ,判斷 str 是否遵循相同的模式。(c++方法)模式字串C++
- 【Shiro】5.多個Realm的使用和實現
- vim 的 grep 外掛`Leaderf rg`:grep 和模糊匹配的完美結合
- Linux (三劍客之一) grep字串搜尋命令詳解Linux字串
- Linux篇---Grep和正則匹配Linux
- grep命令的-o和-P選項
- Linux系統中grep如何使用?Linux
- 管道命令grep , egrep的使用例子 -v
- js replace替換字串,同時替換多個方法JS字串
- 將多個路徑字串轉換成XML文件樹字串XML
- 資料庫單使用者模式切換回多使用者模式資料庫模式
- 【故障處理】【oerr】【grep】謹防grep“花哨”功能導致oerr工具無法使用
- 掌握Linux中的12個grep命令Linux
- 使用者,使用者賬戶,模式和模式物件模式物件
- 字串匹配模式問題字串匹配模式
- Linux三劍客grep、awk和sedLinux
- Linux grep命令和正規表示式Linux
- nginx + 一個埠 部署多個單頁應用(history模式)Nginx模式