在awk命令中條件語句的使用

AWK Ubuntu Linux 腳本語言 Linux系統學習 2017-05-02

在awk命令中條件語句的使用

為了編程的實際需要,awk設計者還引入了分支(條件)語句以控制程序的流程。條件語句的關鍵字是 if 。我還是通過一些具體的例子來說明if語句的實際用法。

假設你是一個操作系統管理員,有時想列出所管理的Linux系統上所有用戶名為3個字符的用戶。命令如下:其中,length是Linux系統自帶的一個程序也叫例程,它的功能是取指定參數的長度。這裡==的兩個等號就是等於。整個if語句的含義是:如果第一個字段的長度為3,就打印第0個字段即這個記錄行。

goddog@ubuntu:~/example$ awk -F: '{ if (length($1) == 3 ) print $0 }' /etc/passwd

bin:x:2:2:bin:/bin:/usr/sbin/nologin

sys:x:3:3:sys:/dev:/usr/sbin/nologin

……

也可以將以上awk命令的結果通過管道送入wc命令來計算這個Linux系統上所有用戶名為3個字符的用戶總數,命令如下:要注意的是if語句中使用的等號是雙等號==,如果在if語句中使用了單個等號=系統會報錯。

goddog@ubuntu:~/example$ awk -F: '{ if (length($1) == 3 ) print $0 }' /etc/passwd | wc -l

4

在awk命令中條件語句的使用

還可以將上述組合命令存入一個正文文件中,如存入到一個名為user_num的shell腳本文件中,之後再用cat命令來驗證所生成的腳本文件是否正確:

goddog@ubuntu:~/example$ cat -A user_num

awk -F: '{ if (length($1) == 3 ) print $0 }' /etc/passwd | wc -l$

確定無誤後就可以使用bash或ksh來運行user_num腳本文件,有興趣的小夥伴可以自己嘗試一下。

goddog@ubuntu:~/example$ sh user_num

4

在awk命令中條件語句的使用


今天就分享這麼多了,謝謝欣賞!^_~

相關推薦

推薦中...