溫馨提示×

溫馨提示×

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

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

AWK數(shù)組怎么用

發(fā)布時間:2022-02-19 09:28:05 來源:億速云 閱讀:123 作者:小新 欄目:開發(fā)技術

這篇文章主要為大家展示了“AWK數(shù)組怎么用”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“AWK數(shù)組怎么用”這篇文章吧。

AWK 可以使用關聯(lián)數(shù)組這種數(shù)據(jù)結構,索引可以是數(shù)字或字符串,AWK關聯(lián)數(shù) 組也不需要提前聲明其大小,因為它在運行時可以自動的增大或減小。

AWK數(shù)組怎么用

數(shù)組使用的語法格式:

array_name[index]=value
  1. array_name:數(shù)組的名稱
  2. index:數(shù)組索引
  3. value:數(shù)組中元素所賦予的值

創(chuàng)建數(shù)組

接下來看一下如何創(chuàng)建數(shù)組以及如何訪問數(shù)組元素:

$ awk 'BEGIN {
sites["runoob"]="www.runoob.com";
sites["google"]="www.google.com"
print sites["runoob"] "\n" sites["google"]
}'

執(zhí)行以上命令,輸出結果為:

www.runoob.com
www.google.com

在上面的例子中,我們定義了一個站點(sites)數(shù)組,該數(shù)組的索引為網(wǎng)站英文簡稱,值為網(wǎng)站訪問地址??梢允褂萌缦赂袷皆L問數(shù)組元素:

array_name[index]

刪除數(shù)組元素

我們可以使用 delete 語句來刪除數(shù)組元素,語法格式如下:

delete array_name[index

下面的例子中,數(shù)組中的 google 元素被刪除(刪除命令沒有輸出):

$ awk 'BEGIN {
sites["runoob"]="www.runoob.com";
sites["google"]="www.google.com"
delete sites["google"];
print fruits["google"]
}'

多維數(shù)組

AWK 本身不支持多維數(shù)組,不過我們可以很容易地使用一維數(shù)組模擬實現(xiàn)多維數(shù)組。

如下示例為一個 3×3 的三維數(shù)組:

100 200 300
400 500 600
700 800 900

以上實例中,array0 存儲 100,array0 存儲 200 ,依次類推。為了在 array0 處存儲 100, 我們可以使用如下語法: array[“0,0”] = 100。

我們使用了 0,0 作為索引,但是這并不是兩個索引值。事實上,它是一個字符串索引 0,0。

下面是模擬二維數(shù)組的例子:

$ awk 'BEGIN {
array["0,0"] = 100;
array["0,1"] = 200;
array["0,2"] = 300;
array["1,0"] = 400;
array["1,1"] = 500;
array["1,2"] = 600;
# 輸出數(shù)組元素
print "array[0,0] = " array["0,0"];
print "array[0,1] = " array["0,1"];
print "array[0,2] = " array["0,2"];
print "array[1,0] = " array["1,0"];
print "array[1,1] = " array["1,1"];
print "array[1,2] = " array["1,2"];
}'

執(zhí)行上面的命令可以得到如下結果:

array[0,0] = 100
array[0,1] = 200
array[0,2] = 300
array[1,0] = 400
array[1,1] = 500
array[1,2] = 600

在數(shù)組上可以執(zhí)行很多操作,比如,使用 asort 完成數(shù)組元素的排序,或者使用 asorti 實現(xiàn)數(shù)組索引的排序等等。

以上是“AWK數(shù)組怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

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

awk
AI