当前位置:网站首页>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 .
边栏推荐
- C # implements a queue in which everything can be sorted
- PHP session variable passed from form - PHP
- What if I forget the router password
- 转:优秀的管理者,关注的不是错误,而是优势
- Snipaste convenient screenshot software, which can be copied on the screen
- deno debugger
- Redis sentinel mechanism
- Collections in Scala
- Flutter 集成 amap_flutter_location
- [error record] no matching function for call to 'cacheflush' cacheflush();)
猜你喜欢
【无标题】转发最小二乘法
How to solve the problem that computers often flash
Redis 哨兵机制
Comparison between sentinel and hystrix
广和通高性能4G/5G无线模组解决方案全面推动高效、低碳智能电网
ArcGIS应用(二十二)Arcmap加载激光雷达las格式数据
Codeforces Round #803 (Div. 2)(A-D)
C, Numerical Recipes in C, solution of linear algebraic equations, Gauss Jordan elimination method, source code
没有Kubernetes怎么玩Dapr?
Fault analysis | MySQL: unique key constraint failure
随机推荐
What if I forget the router password
FRP intranet penetration, reverse proxy
2022 examination questions for safety managers of metal and nonmetal mines (underground mines) and examination papers for safety managers of metal and nonmetal mines (underground mines)
Codeforces Round #803 (Div. 2)(A-D)
[attack and defense world | WP] cat
Codeforces Round #750 (Div. 2)(A,B,C,D,F1)
Codeforces Round #793 (Div. 2)(A-D)
Cannot click button when method is running - C #
Leetcode topic [array] -136- numbers that appear only once
How to choose solid state hard disk and mechanical hard disk in computer
Difference between static method and non static method (advantages / disadvantages)
What sparks can applet container technology collide with IOT
swatch
What if the wireless network connection of the laptop is unavailable
Codeforces Round #793 (Div. 2)(A-D)
ctfshow web255 web 256 web257
string. Format without decimal places will generate unexpected rounding - C #
微服务入门:Gateway网关
High order phase difference such as smear caused by myopic surgery
Getting started with microservices: gateway gateway