91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

如何使用awk語言編寫腳本

發布時間:2022-01-25 10:08:26 來源:億速云 閱讀:262 作者:iii 欄目:開發技術

這篇文章主要介紹“如何使用awk語言編寫腳本”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“如何使用awk語言編寫腳本”文章能幫助大家解決問題。

awk是一種編程語言,用于在linux/unix下對文本和數據進行掃描與處理。數據可以來自標準輸入、文件、管道。可以從命令行運行簡單的awk命令。更復雜的任務應該作為awk程序(所謂的awk腳本)寫入文件。

如何使用awk語言編寫腳本

概述

和寫 shell 腳本差不多,awk 腳本以下面這一行開頭:

#! /path/to/awk/utility -f

例如在我的系統上,awk 工具安裝在 /user/bin/awk 目錄,所以我的 awk 腳本以如下內容作為開頭:

#! /usr/bin/awk -f

上面一行的解釋如下:

  • #! ,稱為釋伴,指明使用那個解釋器來執行腳本中的命令;
  • /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語言編寫腳本

一個嚴格的程序員一定會問:“注釋呢?”。是的,你可以在 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語言編寫腳本”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

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

awk
AI

南雄市| 兰州市| 惠州市| 喀喇沁旗| 闽清县| 晋江市| 商丘市| 新野县| 庆安县| 漳平市| 凤凰县| 乳山市| 沁水县| 许昌县| 吉水县| 彰化市| 遂平县| 武山县| 北安市| 杂多县| 五原县| 商水县| 冷水江市| 丁青县| 大连市| 天台县| 珠海市| 恩施市| 龙游县| 桐城市| 葫芦岛市| 舒城县| 祁门县| 望都县| 晋州市| 玛曲县| 广汉市| 平乐县| 金寨县| 玛纳斯县| 禹州市|