AWK 陣列介紹
AWK 可以使用關聯陣列這種資料結構,索引可以是數字或字串。AWK關聯陣列也不需要提前宣告其大小,因為它在執行時可以自動的增大或減小。 |
陣列使用的語法格式:
array_name[index]=value
- array_name:陣列的名稱
- index:陣列索引
- value:陣列中元素所賦予的值
建立陣列
接下來看一下如何建立陣列以及如何訪問陣列元素:
$ awk 'BEGIN { sites["runoob"]=" sites["google"]=" print sites["runoob"] "\n" sites["google"] }'
執行以上 ,輸出結果為:
在上面的例子中,我們定義了一個站點(sites)陣列,該陣列的索引為網站英文簡稱,值為網站訪問地址。可以使用如下格式訪問陣列元素:
array_name[index]
刪除陣列元素
我們可以使用 delete 語句來刪除陣列元素,語法格式如下:
delete array_name[index
下面的例子中,陣列中的 google 元素被刪除(刪除 沒有輸出):
$ awk 'BEGIN { sites["runoob"]=" sites["google"]=" delete sites["google"]; print fruits["google"] }'
多維陣列
AWK 本身不支援多維陣列,不過我們可以很容易地使用一維陣列模擬實現多維陣列。
如下示例為一個 3x3 的三維陣列:
100 200 300 400 500 600 700 800 900
以上例項中,array[0][0] 儲存 100,array[0][1] 儲存 200 ,依次類推。為了在 array[0][0] 處儲存 100, 我們可以使用如下語法: array["0,0"] = 100。
我們使用了 0,0 作為索引,但是這並不是兩個索引值。事實上,它是一個字串索引 0,0。
下面是模擬二維陣列的例子:
$ 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; # 輸出陣列元素 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"]; }'
執行上面的命令可以得到如下結果:
array[0,0] = 100 array[0,1] = 200 array[0,2] = 300 array[1,0] = 400 array[1,1] = 500 array[1,2] = 600
在陣列上可以執行很多操作,比如,使用 asort 完成陣列元素的排序,或者使用 asorti 實現陣列索引的排序等等。
原文地址:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2725513/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Shell 陣列介紹陣列
- 全面介紹JavaScript陣列方法JavaScript陣列
- ES6 陣列介紹陣列
- 介紹 Go 的陣列和切片Go陣列
- [20191202]awk使用陣列技巧.txt陣列
- 介紹PostgreSQL的陣列型別FUSQL陣列型別
- 簡單介紹Lua一維陣列與多維陣列的使用陣列
- 簡單介紹js 陣列 fill() 填充方法JS陣列
- Linux awk命令中如何刪除陣列Linux陣列
- NumPy 陣列切片及資料型別介紹陣列資料型別
- js--陣列的reduce()方法的使用介紹JS陣列
- 簡單介紹最新python 字串陣列互轉問題Python字串陣列
- 磁碟陣列資料丟失的7個常見原因介紹陣列
- SVN命令列使用介紹命令列
- JS陣列at函式(獲取最後一個元素的方法)介紹JS陣列函式
- Tmux 終端命令列介紹UX命令列
- Bootstrap Blazor 元件介紹 Table (三)列資料格式功能介紹bootBlazor元件
- Bootstrap Blazor 元件介紹 Table (二)自定義模板列功能介紹bootBlazor元件
- Bootstrap Blazor 元件介紹 Table (一)自動生成列功能介紹bootBlazor元件
- JS中陣列遍歷方法foreach,filter,some,every,map方法介紹與總結JS陣列Filter
- C++ 列舉型別介紹C++型別
- 『忘了再學』Shell基礎 — 27、AWK程式設計的介紹和基本使用程式設計
- JavaSE 陣列:一維陣列&二維陣列Java陣列
- Java陣列03:陣列使用Java陣列
- 陣列,陣列類,SyStem類陣列
- Java基礎筆記09-陣列簡介Java筆記陣列
- 陣列--移除陣列中指定的元素,不改變原陣列和改變原陣列陣列
- 指標陣列和陣列指標與二維陣列指標陣列
- 陣列二:使用陣列可變函式為陣列排序陣列函式排序
- linux Shell 命令列-01-intro 入門介紹Linux命令列
- laravel多租戶之artisan命令列使用介紹Laravel命令列
- Javascript - 陣列和陣列的方法JavaScript陣列
- 陣列指標,指標陣列陣列指標
- ASP.NET Razor – VB 迴圈和陣列簡介ASP.NET陣列
- kmp 演算法簡介及 next 陣列推導KMP演算法陣列
- [求解]陣列,分成倆個陣列,陣列值之和的相差最小。陣列
- 記一次陣列操作:陣列 A 根據陣列 B 排序陣列排序
- 陣列陣列