這篇文章將為大家詳細(xì)講解有關(guān)如何使用awk的next命令,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
創(chuàng)新互聯(lián)公司是一家專業(yè)從事網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)的網(wǎng)絡(luò)公司。作為專業(yè)網(wǎng)站制作公司,創(chuàng)新互聯(lián)公司依托的技術(shù)實(shí)力、以及多年的網(wǎng)站運(yùn)營(yíng)經(jīng)驗(yàn),為您提供專業(yè)的成都網(wǎng)站建設(shè)、全網(wǎng)整合營(yíng)銷推廣及網(wǎng)站設(shè)計(jì)開發(fā)服務(wù)!要明白它是如何工作的, 讓我們來(lái)分析一下 food_list.txt 它看起來(lái)像這樣:
Food List Items No Item_Name Price Quantity 1 Mangoes $3.45 5 2 Apples $2.45 25 3 Pineapples $4.45 55 4 Tomatoes $3.45 25 5 Onions $1.45 15 6 Bananas $3.45 30 >
運(yùn)行下面的命令,它將在每個(gè)食物數(shù)量小于或者等于 20 的行后面標(biāo)一個(gè)星號(hào):
# awk '$4 <= 20 { printf "%s/t%s/n", $0,"*" ; } $4 > 20 { print $0 ;} ' food_list.txt No Item_Name Price Quantity 1 Mangoes $3.45 5 * 2 Apples $2.45 25 3 Pineapples $4.45 55 4 Tomatoes $3.45 25 5 Onions $1.45 15 * 6 Bananas $3.45 30
上面的命令實(shí)際運(yùn)行如下:
1.它用$4 <= 20表達(dá)式檢查每個(gè)輸入行的第四列(數(shù)量(Quantity))是否小于或者等于 20,如果滿足條件,它將在末尾打一個(gè)星號(hào) (*)。
2.它用$4 > 20表達(dá)式檢查每個(gè)輸入行的第四列是否大于20,如果滿足條件,顯示出來(lái)。
但是這里有一個(gè)問(wèn)題, 當(dāng)?shù)谝粋€(gè)表達(dá)式用{ printf "%s/t%s/n", $0,"**" ; }命令進(jìn)行標(biāo)注的時(shí)候在同樣的步驟第二個(gè)表達(dá)式也進(jìn)行了判斷這樣就浪費(fèi)了時(shí)間。因此當(dāng)我們已經(jīng)用第一個(gè)表達(dá)式打印標(biāo)志行的時(shí)候就不再需要用第二個(gè)表達(dá)式$4 > 20再次打印。
要處理這個(gè)問(wèn)題, 我們需要用到next 命令:
# awk '$4 <= 20 { printf "%s/t%s/n", $0,"*" ; next; } $4 > 20 { print $0 ;} ' food_list.txt
當(dāng)輸入行用$4 <= 20 { printf "%s/t%s/n", $0,"*" ; next ; }命令打印以后,next命令將跳過(guò)第二個(gè)$4 > 20 { print $0 ;}表達(dá)式,繼續(xù)判斷下一個(gè)輸入行,而不是浪費(fèi)時(shí)間繼續(xù)判斷一下是不是當(dāng)前輸入行還大于 20。
next命令在編寫高效的命令腳本時(shí)候是非常重要的,它可以提高腳本速度。
關(guān)于“如何使用awk的next命令”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
網(wǎng)頁(yè)題目:如何使用awk的next命令-創(chuàng)新互聯(lián)
文章轉(zhuǎn)載:http://www.rwnh.cn/article38/igesp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁(yè)設(shè)計(jì)公司、靜態(tài)網(wǎng)站、移動(dòng)網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容