当前位置:网站首页>Awk from entry to earth (8) array
Awk from entry to earth (8) array
2022-07-04 08:46:00 【Wonderful binary】
Array
AWK There are data structures like associative arrays , The best feature of this data structure is that its index value does not need to be a continuous integer value . We can use both numbers and strings as the index of the array . besides , Associative arrays do not need to declare their size in advance , Because it can automatically increase or decrease at run time . This chapter will explain AWK How to use arrays .
The following is the syntax format used by the array :
array_name[index]=value
among array_name Is the name of the array ,index Is the array index ,value The value assigned to the element in the array .
Create array
To learn more about arrays , Let's first look at how to create an array and how to access array elements :
[jerry]$ awk 'BEGIN {
fruits["mango"]="yellow";
fruits["orange"]="orange"
print fruits["orange"] "\n" fruits["mango"]
}'
Execute the above command to get the following result :
orange
yellow
In the example above , We define a fruit (fruits) Array , The index of this array is the fruit name , Value is the color of the fruit . You can access array elements in the following format :
array_name[index]
Delete array elements
When inserting elements, we use assignment operators . When deleting array elements , We use delete sentence . As shown below :
delete array_name[index]
In the following example , Array orange The element is deleted ( The delete command has no output ):
[jerry]$ awk 'BEGIN {
fruits["mango"]="yellow";
fruits["orange"]="orange";
delete fruits["orange"];
print fruits["orange"]
}'
Multidimensional arrays
AWK Itself does not support multidimensional arrays , However, we can easily use one-dimensional array simulation to realize multi-dimensional array .
The following example is a 3x3 Three dimensional array of :
100 200 300
400 500 600
700 800 900
In the example above ,array[0][0] Storage 100,array[0][1] Storage 200 , By analogy . In order to be in array[0][0] Store 100, We can use the following syntax :
array["0,0"] = 100
Although in the example , We used 0,0 As index , But these are not two index values . in fact , It is a string index 0,0.
The following is an example of simulating a two-dimensional array :
[jerry]$ 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 elements
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"];
}'
You can get the following result by executing the above command :
array[0,0] = 100
array[0,1] = 200
array[0,2] = 300
array[1,0] = 400
array[1,1] = 500
array[1,2] = 600
Many operations can be performed on arrays , such as , Use asort Finish sorting array elements , Or use asorti Implement the sorting of array index, etc . We will introduce functions that can operate on arrays in later chapters .
边栏推荐
- A method for detecting outliers of data
- WordPress get_ Users() returns all users with comparison queries - PHP
- 小程序容器技术与物联网 IoT 可以碰撞出什么样的火花
- 学习Nuxt.js
- What sparks can applet container technology collide with IOT
- deno debugger
- 没有Kubernetes怎么玩Dapr?
- Add log file to slim frame - PHP
- ctfshow web255 web 256 web257
- ES6 summary
猜你喜欢
The second session of the question swiping and punching activity -- solving the switching problem with recursion as the background (I)
Go zero micro service practical series (IX. ultimate optimization of seckill performance)
Azure ad domain service (II) configure azure file share disk sharing for machines in the domain service
一文了解數據异常值檢測方法
es6总结
Getting started with microservices: gateway gateway
[CV] Wu Enda machine learning course notes | Chapter 9
[error record] no matching function for call to 'cacheflush' cacheflush();)
Four essential material websites for we media people to help you easily create popular models
High order phase difference such as smear caused by myopic surgery
随机推荐
What if I forget the router password
Codeforces Global Round 21(A-E)
根据数字显示中文汉字
一文了解数据异常值检测方法
Educational Codeforces Round 119 (Rated for Div. 2)
How to play dapr without kubernetes?
awk从入门到入土(5)简单条件匹配
Codeforces Round #793 (Div. 2)(A-D)
yolov5 xml数据集转换为VOC数据集
ArcGIS应用(二十二)Arcmap加载激光雷达las格式数据
Take you to master the formatter of visual studio code
Difference between static method and non static method (advantages / disadvantages)
awk从入门到入土(15)awk执行外部命令
High order phase difference such as smear caused by myopic surgery
埃氏筛+欧拉筛+区间筛
Technology sharing | MySQL parallel DDL
团体程序设计天梯赛-练习集 L2-002 链表去重
Openfeign service interface call
Li Kou today's question -1200 Minimum absolute difference
Redis 哨兵机制