這篇文章主要介紹了怎么使用 awk 復(fù)合表達(dá)式,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
創(chuàng)新互聯(lián)主要從事網(wǎng)站建設(shè)、做網(wǎng)站、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)江城,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108
一直以來在查對條件是否匹配時(shí),我們使用的都是簡單的表達(dá)式。那如果你想用超過一個(gè)表達(dá)式來查對特定的條件呢?
本文中,我們將看看如何在過濾文本和字符串時(shí),結(jié)合多個(gè)表達(dá)式,即復(fù)合表達(dá)式,用以查對條件。
awk 的復(fù)合表達(dá)式可由表示“與”的組合操作符 && 和表示“或”的 || 構(gòu)成。
復(fù)合表達(dá)式的常規(guī)寫法如下:
( ***個(gè)表達(dá)式 ) && ( 第二個(gè)表達(dá)式 )
這里只有當(dāng)“***個(gè)表達(dá)式” 和“第二個(gè)表達(dá)式”都是真值時(shí)整個(gè)表達(dá)式才為真。
( ***個(gè)表達(dá)式 ) || ( 第二個(gè)表達(dá)式)
這里只要“***個(gè)表達(dá)式” 為真或“第二個(gè)表達(dá)式”為真,整個(gè)表達(dá)式就為真。
注意:切記要加括號。
表達(dá)式可以由比較操作符構(gòu)成,具體可查看 awk 系列的第四節(jié)。
現(xiàn)在讓我們通過一個(gè)例子來加深理解:
此例中,有一個(gè)文本文件 tecmint_deals.txt,文本中包含著一張隨機(jī)的 Tecmint 交易清單,其中包含了名稱、價(jià)格和種類。
TecMint Deal List No Name Price Type 1 Mac_OS_X_Cleanup_Suite $9.99 Software 2 Basics_Notebook $14.99 Lifestyle 3 Tactical_Pen $25.99 Lifestyle 4 Scapple $19.00 Unknown 5 Nano_Tool_Pack $11.99 Unknown 6 Ditto_Bluetooth_Altering_Device $33.00 Tech 7 Nano_Prowler_Mini_Drone $36.99 Tech
我們只想打印出價(jià)格超過 $20 且其種類為 “Tech” 的物品,在其行末用 (*) 打上標(biāo)記。
我們將要執(zhí)行以下命令。
# awk '($3 ~ /^\$[2-9][0-9]*\.[0-9][0-9]$/) && ($4=="Tech") { printf "%s\t%s\n",$0,"*"; } ' tecmint_deals.txt 6 Ditto_Bluetooth_Altering_Device $33.00 Tech * 7 Nano_Prowler_Mini_Drone $36.99 Tech *
此例,在復(fù)合表達(dá)式中我們使用了兩個(gè)表達(dá)式:
表達(dá)式 1:($3 ~ /^\$[2-9][0-9]*\.[0-9][0-9]$/) ;查找交易價(jià)格超過 $20 的行,即只有當(dāng) $3 也就是價(jià)格滿足 /^\$[2-9][0-9]*\.[0-9][0-9]$/ 時(shí)值才為真值。
表達(dá)式 2:($4 == “Tech”) ;查找是否有種類為 “Tech”的交易,即只有當(dāng) $4 等于 “Tech” 時(shí)值才為真值。 切記,只有當(dāng) && 操作符的兩端狀態(tài),也就是兩個(gè)表達(dá)式都是真值的情況下,這一行才會(huì)被打上 (*) 標(biāo)志。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“怎么使用 awk 復(fù)合表達(dá)式”這篇文章對大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!
當(dāng)前標(biāo)題:怎么使用awk復(fù)合表達(dá)式
標(biāo)題鏈接:http://chinadenli.net/article16/ppgcgg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、軟件開發(fā)、做網(wǎng)站、App設(shè)計(jì)、網(wǎng)站設(shè)計(jì)公司、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)