亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在awk中怎么使用流程控制語句

發布時間:2021-10-26 17:27:32 來源:億速云 閱讀:116 作者:小新 欄目:互聯網科技

這篇文章將為大家詳細講解有關在awk中怎么使用流程控制語句,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

在 awk 編程中有各種各樣的流程控制語句,其中包括:

  • if-else 語句

  • for 語句

  • while 語句

  • do-while 語句

  • break 語句

  • continue 語句

  • next 語句

  • nextfile 語句

  • exit 語句

然而,對于本系列的這一部分,我們將闡述:if-else、for、while 和 do while 語句。請記住,我們已經在這個 awk 系列的第 6  部分介紹過如何使用 awk 的 next 語句。

1. if-else 語句

如你想的那樣。if 語句的語法類似于 shell 中的 if 語句:

if  (條件 1) {      動作 1 } else {       動作 2 }

在上述語法中,條件 1 和條件 2 是 awk 表達式,而動作 1 和動作 2 是當各自的條件得到滿足時所執行的 awk 命令。

當條件 1 滿足時,意味著它為真,那么動作 1 被執行并退出 if 語句,否則動作 2 被執行。

if 語句還能擴展為如下的 if-else_if-else 語句:

if (條件 1){      動作 1 } else if (條件 2){       動作 2 } else{      動作 3 }

對于上面的形式,如果條件 1 為真,那么動作 1 被執行并退出 if 語句,否則條件 2 被求值且如果值為真,那么動作 2 被執行并退出 if  語句。然而,當條件 2 為假時,那么動作 3 被執行并退出 if 語句。

這是在使用 if 語句的一個實例,我們有一個用戶和他們年齡的列表,存儲在文件 users.txt 中。

我們要打印一個清單,顯示用戶的名稱和用戶的年齡是否小于或超過 25 歲。

aaronkilik@tecMint ~ $ cat users.txt Sarah L         35      F Aaron Kili      40      M John  Doo       20      M Kili  Seth      49      M

我們可以寫一個簡短的 shell 腳本來執行上文中我們的工作,這是腳本的內容:

#!/bin/bash awk ' {         if ( $3 <= 25 ){            print "User",$1,$2,"is less than 25 years old." ;         }         else {            print "User",$1,$2,"is more than 25 years old" ;         } }'    ~/users.txt

然后保存文件并退出,按如下方式使腳本可執行并運行它:

$ chmod +x test.sh$ ./test.sh

輸出樣例

User Sarah L is more than 25 years old User Aaron Kili is more than 25 years old User John Doo is less than 25 years old. User Kili Seth is more than 25 years old

2. for 語句

如果你想在一個循環中執行一些 awk 命令,那么 for 語句為你提供一個做這個的合適方式,格式如下:

for ( 計數器的初始化 ; 測試條件 ; 計數器增加 ){       動作 }

這里,該方法是通過一個計數器來控制循環執行來定義的,首先你需要初始化這個計數器,然后針對測試條件運行它,如果它為真,執行這些動作并最終增加這個計數器。當計數器不滿足條件時,循環終止。

在我們想要打印數字 0 到 10 時,以下 awk 命令顯示 for 語句是如何工作的:

$ awk 'BEGIN{ for(counter=0;counter<=10;counter++){ print counter} }'

輸出樣例

0 1 2 3 4 5 6 7 8 9 10

3. while 語句

while 語句的傳統語法如下:

while ( 條件 ) {           動作 }

這個條件是一個 awk 表達式而動作是當條件為真時被執行的 awk 命令。

下面是一個說明使用 while 語句來打印數字 0 到 10 的腳本:

#!/bin/bash awk ' BEGIN{ counter=0;         while(counter<=10){               print counter;               counter+=1;         } }'

保存文件并使腳本可執行,然后運行它:

$ chmod +x test.sh $ ./test.sh

輸出樣例

0 1 2 3 4 5 6 7 8 9 10

4. do while 語句

它是上文中 while 語句的一個變型,具有以下語法:

do {      動作 }  while (條件)

這輕微的區別在于,在 do while 語句下,awk 的命令在求值條件之前執行。使用上文 while 語句的例子,我們可以通過按如下所述修改  test.sh 腳本中的 awk 命令來說明 do while 語句的用法:

#!/bin/bash awk ' BEGIN{ counter=0;         do{             print counter;             counter+=1;         }         while (counter<=10) }'

修改腳本之后,保存文件并退出。按如下方式使腳本可執行并執行它:

$ chmod +x test.sh $ ./test.sh

輸出樣例

0 1 2 3 4 5 6 7 8 9 10

關于“在awk中怎么使用流程控制語句”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

awk
AI

阿巴嘎旗| 简阳市| 平阴县| 门头沟区| 迁安市| 太仆寺旗| 东台市| 金湖县| 民县| 漳浦县| 平顺县| 聂拉木县| 赞皇县| 册亨县| 胶南市| 榆中县| 新闻| 宝丰县| 甘谷县| 铅山县| 桐梓县| 句容市| 安化县| 喀喇沁旗| 青神县| 平阳县| 宁阳县| 固原市| 南召县| 株洲市| 炉霍县| 四会市| 日喀则市| 西吉县| 梓潼县| 榕江县| 兴海县| 师宗县| 蓬溪县| 华容县| 英超|