您好,登錄后才能下訂單哦!
這篇文章主要介紹“如何使用awk語言編寫腳本”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“如何使用awk語言編寫腳本”文章能幫助大家解決問題。
awk是一種編程語言,用于在linux/unix下對文本和數據進行掃描與處理。數據可以來自標準輸入、文件、管道。可以從命令行運行簡單的awk命令。更復雜的任務應該作為awk程序(所謂的awk腳本)寫入文件。
和寫 shell 腳本差不多,awk 腳本以下面這一行開頭:
#! /path/to/awk/utility -f
例如在我的系統上,awk 工具安裝在 /user/bin/awk 目錄,所以我的 awk 腳本以如下內容作為開頭:
#! /usr/bin/awk -f
上面一行的解釋如下:
說是這么說,現在從下面的簡單例子開始,讓我們深入研究一些可執行的 awk 腳本。使用你最喜歡的編輯器創建一個新文件,像下面這樣:
$ vi script.awk
然后把下面代碼粘貼到文件中:
#!/usr/bin/awk -fBEGIN { printf "%s/n","Writing my first awk executable script!" }
保存文件后退出,然后執行下面命令,使得腳本可執行:
$ chmod +x script.awk
然后,執行它:
$ ./script.awk
輸出樣例:
Writing my first awk executable script!
一個嚴格的程序員一定會問:“注釋呢?”。是的,你可以在 awk 腳本中包含注釋。在代碼中寫注釋是一種良好的編程習慣。它有利于其它程序員閱讀你的代碼,理解程序文件或者腳本中每一部分的功能。所以,你可以像下面這樣在腳本中增加注釋:
#!/usr/bin/awk -f# 這是如何在 awk 中寫注釋的示例# 使用特殊模式 BEGIN 來輸出一句話BEGIN { printf "%s/n","Writing my first awk executable script!" }
接下來我們看一個讀文件的例子。我們想從帳號文件 /etc/passwd 中查找一個叫 aaronkilik 的用戶,然后像下面這樣打印用戶名、用戶的 ID、用戶的 GID :
下面是我們腳本文件的內容,文件名為 second.awk。
#! /usr/bin/awk -f# 使用 BEGIN 指定字符來設定 FS 內置變量BEGIN { FS=":" }# 搜索用戶名 aaronkilik 并輸出賬號細節/aaronkilik/ { print "Username :",$1,"User ID :",$3,"User GID :",$4 }
保存文件后退出,使得腳本可執行,然后像下面這樣執行它:
$ chmod +x second.awk $ ./second.awk /etc/passwd
輸出樣例:
Username : aaronkilik User ID : 1000 User GID : 1000
在下面最后一個例子中,我們將使用 do while 語句來打印數字 0-10:
下面是我們腳本文件的內容,文件名為 do.awk。
#! /usr/bin/awk -f#printing from 0-10 using a do while statement#do while statementBEGIN {#initialize a counterx=0do {print x; x+=1; }while(x
保存文件后,像之前操作一樣使得腳本可執行。然后,運行它:
$ chmod +x do.awk $ ./do.awk
輸出樣例
0 1 2 3 4 5 6 7 8 9 10
關于“如何使用awk語言編寫腳本”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。