grep -v陌僵、-e轴合、-E

概述

在Linux的grep命令中如何使用or,and碗短,not操作符呢受葛?

其實,在grep命令中偎谁,有or和not操作符的等價選項总滩,但是并沒有g(shù)rep and這種操作符。不過呢巡雨,可以使用patterns來模擬and操作的闰渔。下面會舉一些例子來說明在Linux的grep命令中如何使用or,and铐望,not冈涧。

在下面的例子中,會用到這個employee.txt文件正蛙,如下:

$ cat employee.txt  
100  Thomas  Manager    Sales       $5,000  
200  Jason   Developer  Technology  $5,500  
300  Raj     Sysadmin   Technology  $7,000  
400  Nisha   Manager    Marketing   $9,500  
500  Randy   Manager    Sales       $6,000  

grep or 操作符

以下四種方法均能實現(xiàn)grep OR的操作督弓。個人推薦方法3。

  1. 使用 \|

如果不使用grep命令的任何選項乒验,可以通過使用 '|' 來分割多個pattern愚隧,以此實現(xiàn)OR的操作。

grep 'pattern1\|pattern2' filename  

例子如下:

$ grep 'Tech\|Sales' employee.txt  
100  Thomas  Manager    Sales       $5,000  
200  Jason   Developer  Technology  $5,500  
300  Raj     Sysadmin   Technology  $7,000  
500  Randy   Manager    Sales       $6,000  
  1. 使用選項 -E

grep -E 選項可以用來擴展選項為正則表達式锻全。 如果使用了grep 命令的選項-E奸攻,則應(yīng)該使用 | 來分割多個pattern蒜危,以此實現(xiàn)OR操作。

grep -E 'pattern1|pattern2' filename

例子如下:

$ grep -E 'Tech|Sales' employee.txt  
100  Thomas  Manager    Sales       $5,000  
200  Jason   Developer  Technology  $5,500  
300  Raj     Sysadmin   Technology  $7,000  
500  Randy   Manager    Sales       $6,000  
  1. 使用 egrep

egrep 命令等同于‘grep -E’睹耐。因此辐赞,使用egrep (不帶任何選項)命令,以此根據(jù)分割的多個Pattern來實現(xiàn)OR操作硝训。

egrep 'pattern1|pattern2' filename  

例子如下:

$ egrep 'Tech|Sales' employee.txt  
100  Thomas  Manager    Sales       $5,000  
200  Jason   Developer  Technology  $5,500  
300  Raj     Sysadmin   Technology  $7,000  
500  Randy   Manager    Sales       $6,000  
  1. 使用選項 -e

使用grep -e 選項响委,只能傳遞一個參數(shù)。在單條命令中使用多個 -e 選項窖梁,得到多個pattern赘风,以此實現(xiàn)OR操作。

grep -e pattern1 -e pattern2 filename

例子如下:

$ grep -e Tech -e Sales employee.txt  
100  Thomas  Manager    Sales       $5,000  
200  Jason   Developer  Technology  $5,500  
300  Raj     Sysadmin   Technology  $7,000  
500  Randy   Manager    Sales       $6,000  

grep and 操作

  1. 使用 -E 'pattern1.*pattern2'

grep命令本身不提供AND功能纵刘。但是邀窃,使用 -E 選項可以實現(xiàn)AND操作。

grep -E 'pattern1.*pattern2' filename  
grep -E 'pattern1.*pattern2|pattern2.*pattern1' filename 

第一個例子如下:(其中兩個pattern的順序是指定的)

$ grep -E 'Dev.*Tech' employee.txt  
200  Jason   Developer  Technology  $5,500 

第二個例子:(兩個pattern的順序不是固定的假哎,可以是亂序的)

$ grep -E 'Manager.*Sales|Sales.*Manager' employee.txt  
  1. 使用多個grep命令

可以使用多個 grep 命令 瞬捕,由管道符分割,以此來實現(xiàn) AND 語義舵抹。

grep -E 'pattern1' filename | grep -E 'pattern2'  

例子如下:

$ grep Manager employee.txt | grep Sales  
100  Thomas  Manager    Sales       $5,000  
500  Randy   Manager    Sales       $6,000  

grep not 操作

  1. 使用選項 grep -v

使用 grep -v 可以實現(xiàn) NOT 操作肪虎。 -v 選項用來實現(xiàn)反選匹配的( invert match)。如惧蛹,可匹配得到除下指定pattern外的所有l(wèi)ines扇救。

grep -v 'pattern1' filename

例子如下:

$ grep -v Sales employee.txt  
200  Jason   Developer  Technology  $5,500  
300  Raj     Sysadmin   Technology  $7,000  
400  Nisha   Manager    Marketing   $9,500  
  1. 可以將NOT操作與其他操作聯(lián)合起來,以此實現(xiàn)更強大的功能 組合香嗓。

如迅腔,這個例子將得到:‘Manager或者Developer,但是不是Sales’的結(jié)果:

$ egrep 'Manager|Developer' employee.txt | grep -v Sales  
200  Jason   Developer  Technology  $5,500  
400  Nisha   Manager    Marketing   $9,500 

原文:https://www.cnblogs.com/franjia/p/4384362.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末靠娱,一起剝皮案震驚了整個濱河市钾挟,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌饱岸,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件徽千,死亡現(xiàn)場離奇詭異苫费,居然都是意外死亡,警方通過查閱死者的電腦和手機双抽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門百框,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人牍汹,你說我怎么就攤上這事铐维〖碓螅” “怎么了?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵嫁蛇,是天一觀的道長锨并。 經(jīng)常有香客問我,道長睬棚,這世上最難降的妖魔是什么第煮? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮抑党,結(jié)果婚禮上包警,老公的妹妹穿的比我還像新娘。我一直安慰自己底靠,他們只是感情好害晦,可當(dāng)我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著暑中,像睡著了一般壹瘟。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上痒芝,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天俐筋,我揣著相機與錄音,去河邊找鬼严衬。 笑死澄者,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的请琳。 我是一名探鬼主播粱挡,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼俄精!你這毒婦竟也來了询筏?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤竖慧,失蹤者是張志新(化名)和其女友劉穎嫌套,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體圾旨,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡踱讨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了砍的。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片轻纪。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡意鲸,死狀恐怖牡拇,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情谣旁,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布滋早,位于F島的核電站榄审,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏馆衔。R本人自食惡果不足惜瘟判,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望角溃。 院中可真熱鬧拷获,春花似錦、人聲如沸减细。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽未蝌。三九已至驮吱,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間萧吠,已是汗流浹背左冬。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留纸型,地道東北人拇砰。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像狰腌,于是被迫代替她去往敵國和親除破。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內(nèi)容

  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
    數(shù)據(jù)革命閱讀 12,135評論 2 34
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理琼腔,服務(wù)發(fā)現(xiàn)瑰枫,斷路器,智...
    卡卡羅2017閱讀 134,599評論 18 139
  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,367評論 0 5
  • 函數(shù)可以應(yīng)用于數(shù)組丹莲,不需要進行循環(huán)光坝。 一 函數(shù)在數(shù)組中的應(yīng)用 1.1 數(shù)組的最值 Sub s() Dim arr1...
    肉丸子豆閱讀 1,360評論 0 3
  • 信用卡透支了擂达,怎樣還款最合適? 不知道大家有沒有干過驚心動魄的事兒呢,比如把信用卡刷“爆”了板鬓,畢竟刷信用卡已經(jīng)屬于...
    檸梔_a90f閱讀 435評論 0 0