日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

一、背景

對于很多的測試人員來說,grep命令都很熟悉,用的最多的比如去查找指定的進程:ps -ef | grep ***

其中***為進程名或進程號,這里我們只用到的grep的最基礎(chǔ)功能-從標準輸出中過濾指定的字符串,實際上grep的功能遠不止如此。

這篇文章給大家來介紹下grep的進階及高階用法,來幫助我們在測試工作中提升效率。

grep的全稱:Global search Regular Expression and Print out the line。

是一種強大的文本搜索工具,它能使用特定模式匹配(包括正則表達式)搜索文本,并默認輸出匹配行。

grep和sed、awk一起成為linux中的三劍客。

grep可以不使用正則,但是跟正則一起配合使用時,功能最為強大!

二、命令語法

grep提供兩種方式:

◆ grep [option] [pattern] testfile

◆ stdout | grep [option] [pattern]

shell三劍客之grep

 

第一種是從文本中直接使用pattern匹配搜索

第二種是從標準輸出中處理 grep所提供的option(參數(shù)選項)

shell三劍客之grep

 

我們先從第一個最簡單的示例開始:先準備一個測試文件。

內(nèi)容如下:

shell三劍客之grep

 

從文本文件中搜索test字符串

shell三劍客之grep

 

可以看到包含有"test"的行被打印出來,默認grep是區(qū)分大小寫的。

所以"Test","TEST"沒有被匹配出來。

如果想要不區(qū)分大小寫,我們可以加"-i"的參數(shù)。

如下:

shell三劍客之grep

 

當前我們的測試文本內(nèi)容比較少,我們?nèi)庋劭梢砸姷绞窃诘趲仔小?/p>

如果文本行數(shù)較多的情況下那就不太方便了,這里就可以用到"-n"的參數(shù)

shell三劍客之grep

 

包含有"test"的并且不區(qū)分大小寫的行在開頭會顯示行號,現(xiàn)在的結(jié)果中匹配的關(guān)鍵字所在行全部內(nèi)容都會輸出。

如果只想要看到匹配的關(guān)鍵字,怎么辦?

使用"-o"參數(shù)即可

shell三劍客之grep

 

有時候我們需要對整個目錄去搜索關(guān)鍵字,如果直接使用grep "test" 目錄名,會報錯。

加參數(shù)'-r'就可以避免這個問題

shell三劍客之grep

 

可以看到shellTest目錄下的兩支文件test1.txt以及testfile都包含test被打印出來了

“-q”選項表示使用靜默模式,在此模式下grep命令不會有任何的打印結(jié)果,無論是否有匹配到。

一般來說我們可以根據(jù)echo $?

來查看上一條指令(grep)的執(zhí)行結(jié)果,如果返回結(jié)果為0,表示grep有匹配到了,如果返回結(jié)果為1,表示grep沒有匹配到。

shell三劍客之grep

 

一般我們可以shell腳本中去用if條件分支進行判斷,如果echo%20$?結(jié)果為0,就去執(zhí)行相應(yīng)的操作

三、grep結(jié)合pattern正則

前面我們介紹了參數(shù)的基本用法,grep的強大之處其實是和正則表達式一起才有作用。

注:本篇文章不會具體介紹正則表達式的使用,如果不了解正則表達式的同學推薦去看下之前相關(guān)的文章

我們知道在正則表達式中分為了兩類:

01%20基本正則表達式

◆%20.%20單個字符

◆%20*%20表示前面的字符連續(xù)出現(xiàn)任意次,包括0次

◆%20^%20表示錨定行首

◆%20$%20表示錨定行尾

◆%20[a-z]%20[0-9]%20區(qū)間范圍

......

02%20擴展正則表達式

◆%20?表示匹配其前面的字符0或1次

◆%20+%20表示匹配其前面的字符至少1次,或者連續(xù)多次,連續(xù)次數(shù)上不封頂。

◆%20()%20分組

◆%20{}%20連續(xù)匹配

◆%20|%20匹配多個表達式的任何一個

......

如查詢以"lemon"單詞開頭

 

查找文件中空白行的數(shù)量

shell三劍客之grep

 

正則“^$”表示空白行,參數(shù)“-c”表達計算行數(shù)

連續(xù)字數(shù)的正則匹配,如:查找“Appium”,p是連續(xù)的

shell三劍客之grep

 

“{2}”表示p連續(xù)出現(xiàn)了兩次,可以發(fā)現(xiàn)結(jié)果是匹配不到的。

因為{}是擴展正則表達式,grep默認是基本正則表達式,如果需要支持擴展正則表達式,我們需要加"-E"選項:

 

本文由檸檬班歪歪原創(chuàng),轉(zhuǎn)載需注明出處!

分享到:
標簽:shell grep
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定