国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

awk系列:在awk中如何使用流程控制語句

開源 系統運維
當你回顧所有到目前為止我們已經覆蓋的 awk 實例,從 awk 系列的開始,你會注意到各種實例的所有指令是順序執行的,即一個接一個地執行。但在某些情況下,我們可能希望基于一些條件進行文本過濾操作,即流程控制語句允許的那些語句。

 

當你回顧所有到目前為止我們已經覆蓋的 awk 實例,從 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 語句:

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

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

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

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

  1. if (條件 1){ 
  2.      動作 1 
  3. else if (條件 2){ 
  4.       動作 2 
  5. else
  6.      動作 3 

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

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

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

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

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

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

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

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

輸出樣例

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

2. for 語句

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

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

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

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

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

輸出樣例

  1. 10 

3. while 語句

while 語句的傳統語法如下:

  1. while ( 條件 ) { 
  2.           動作 

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

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

  1. #!/bin/bash 
  2. awk ' BEGIN{ counter=0; 
  3.         while(counter<=10){ 
  4.               print counter; 
  5.               counter+=1; 
  6.         } 
  7. }' 

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

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

輸出樣例

  1. 10 

4. do while 語句

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

  1. do { 
  2.      動作 
  3.  while (條件) 

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

  1. #!/bin/bash 
  2. awk ' BEGIN{ counter=0; 
  3.         do{ 
  4.             print counter; 
  5.             counter+=1; 
  6.         } 
  7.         while (counter<=10) 
  8. }' 

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

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

輸出樣例

  1. 10 

總結

這不是關于 awk 的流程控制語句的一個全面的指南,正如我早先提到的,在 awk 里還有其他幾個流程控制語句。

盡管如此,awk 系列的這一部分使應該你明白了一個明確的基于某些條件控制的 awk 命令是如何執行的基本概念。

你還可以了解其余更多的流程控制語句以獲得更多關于該主題的理解。***,在 awk 的系列下一節,我們將進入編寫 awk 腳本。

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2010-05-11 12:53:58

Unix awk

2016-08-10 16:07:08

awkLinux開源

2016-08-11 09:18:33

awkShellLinux

2016-10-08 20:58:50

awkLinux編寫腳本

2016-07-29 15:13:00

awk文本處理工具編程

2016-08-10 11:19:11

awkLinux開源

2010-05-11 12:17:51

Unix awk

2019-12-03 10:00:19

awkLinux循環

2024-11-01 16:05:26

2010-07-19 10:11:58

Perl流程控制語句

2009-09-04 10:42:56

C#流程控制語句

2024-09-11 17:00:36

2022-03-20 10:40:11

Linuxawk 腳本

2015-07-23 15:17:37

JavaScript循環語句

2011-08-24 16:36:00

T-SQL

2024-11-05 12:59:42

while 循環迭代字節碼

2010-05-11 10:29:06

Unix awk

2019-12-12 18:00:54

awkLinux開源

2017-05-31 17:09:52

LinuxShell命令

2024-06-06 09:09:41

SQL循環控制命令
點贊
收藏

51CTO技術棧公眾號

a√免费观看在线网址www| 日韩高清国产精品| 国产色a在线| 国产日韩精品一区| 粉嫩精品一区二区三区在线观看| 国产午夜久久av| 日韩激情片免费| 精品资源在线看| 亚洲激情av在线| 一本久道综合色婷婷五月| 捆绑变态av一区二区三区| 亚洲va欧美va国产综合久久| 色婷婷久久久| 久久久精品免费视频| 色噜噜狠狠狠综合欧洲色8| 亚洲欧美日韩精品久久久| 亚洲欧美日韩精品综合在线观看| 精品久久视频| 欧美国产在线视频| 交100部在线观看| 欧美日本在线看| 中文在线网在线中文| 亚洲人123区| 久久久久人妻精品一区三寸| 激情丁香综合五月| 涩涩涩999| 久久黄色网页| 久久精品国产一区二区三区日韩| 天天久久综合| 成人在线视频网站| 成人在线免费小视频| 欧美一级黄色网| 国产乱论精品| 97在线视频免费| 欧美人与动xxxxz0oz| 国内精品久久久久久久久| 久久在线观看| 欧美激情在线观看| 伊人久久影院| 欧美精品video| 精品国产麻豆| 欧美激情亚洲另类| 米奇精品关键词| 久久不见久久见免费视频7| 日韩欧美中文字幕一区| 亚洲欧美激情网| 精品亚洲精品| 欧美日韩综合在线| 人偷久久久久久久偷女厕| 美女写真久久影院| 国产欧美日韩另类一区| 国产精品999999| 偷拍自拍在线| 天天综合色天天综合色h| 波多野结衣av在线| 亚洲国产成人91porn| 青青青草原在线| 欧美色综合网站| 国产白丝在线观看| 一区三区二区视频| 91成人噜噜噜在线播放| 国产精品成人av在线| 红桃视频国产精品| 日韩欧美视频一区二区三区四区| 久久成人羞羞网站| 5月婷婷6月丁香| 亚洲资源中文字幕| 五月婷婷在线观看| 一区二区欧美在线| 国产精品黄网站| 99re热精品| 激情综合色丁香一区二区| 热久久精品国产| 日韩欧美黄色动漫| 成人亚洲欧美| 国产成人黄色av| 午夜影院日韩| 国产又黄又猛视频| 一本色道久久综合亚洲91| sm捆绑调教国产免费网站在线观看| 久久精品国产视频| 国产精品久久久久久影院8一贰佰 国产精品久久久久久麻豆一区软件 | 日韩欧美一区二区三区四区| 国产成人午夜视频| 老司机性视频| 欧美一区二区视频在线观看| 成人精品国产亚洲| 成人av色在线观看| 日本vs亚洲vs韩国一区三区 | 欧美日韩中文字幕综合视频| 欧美一区二区三区| 久久福利网址导航| 欧美精品日韩| 亚洲人成色77777| 欧美高清www午色夜在线视频| 二区三区精品| 精品久久久久久一区| 国产日韩欧美麻豆| 久久综合之合合综合久久| 高清欧美一区二区三区| 日韩国产在线观看一区| 2020中文字幕在线| 亚洲成人黄色在线观看| 欧洲激情综合| 1024av视频| 欧美一区二区三区视频在线| 亚洲调教一区| 国产男女免费视频| 欧美精品一二三四| 九一精品国产| 男人操女人逼免费视频| 日韩欧美资源站| 天天做天天爱天天爽综合网| 亚洲国产精品久久久久爰色欲| 日韩美女视频在线| 香蕉视频国产精品| 无人在线观看的免费高清视频| 日韩一区二区在线看片| 精品午夜久久| 欧美 日韩 国产一区| 日韩欧美电影一二三| 99久久精品国产亚洲精品| 两根大肉大捧一进一出好爽视频| 日韩写真欧美这视频| 欧美韩国一区| 香港日本韩国三级| 欧美激情欧美狂野欧美精品| 国内久久精品视频| 中文字幕中文字幕在线十八区| 国产精品中文字幕久久久| 中文在线一区二区| 欧美男女视频| 日韩中文在线字幕| 日韩欧美精品三级| 国产韩国精品一区二区三区| 欧美成人免费全部网站| 欧美 国产 日本| 精品久久香蕉国产线看观看亚洲| 99在线观看免费视频精品观看| 精品国产一区二区三区无码| 5858s免费视频成人| 日本一区二区在线看| 亚洲天堂2018av| 日韩在线观看免费| 国产精品一区二区无线| 久草在线视频资源| 国产乱码精品一区二区三区卡| 亚洲成av人片观看| 国产日产一区| 看黄的a网站| 国产精品h在线观看| 亚洲女同女同女同女同女同69| 九色丨蝌蚪丨成人| 免费在线观看羞羞视频| 性视频1819p久久| 国产精品蜜臀在线观看| jazzjazz国产精品久久| 亚洲一级免费在线观看| 91高潮精品免费porn| ●精品国产综合乱码久久久久| 久草精品视频| 三上悠亚在线观看二区| 日韩美女在线观看| 亚洲高清不卡在线| 亚洲高清影视| 777电影在线观看| 欧美精品123| 欧美变态凌虐bdsm| 狠狠网亚洲精品| 日韩成人一区| 99aiav| 国产美女精品免费电影| 色综合天天综合在线视频| 狠久久av成人天堂| 黄色成人在线网| 无码专区aaaaaa免费视频| 色综合视频网站| 亚洲一区二区三区免费视频| 国内精品美女在线观看| 黄网在线免费看| 丁香花在线影院观看在线播放 | 一本色道久久亚洲综合精品蜜桃 | 99精品国产高清一区二区麻豆| 乱子伦视频在线看| 51ⅴ精品国产91久久久久久| 亚洲一二三四在线| 亚洲精品偷拍| 国产伦子伦对白在线播放观看| 日本免费不卡一区二区| 国产成人激情小视频| 欧美日本韩国一区二区三区视频| 久久99久久99小草精品免视看| 国产一区二区高清在线| 欧美知名女优| 欧美精品七区| 久久中文字幕一区| 欧美性生活大片免费观看网址| 六月婷婷色综合| 久久男人av| 人人超在线公开视频|