当前位置:网站首页>Awk from getting started to digging in (4) user defined variables
Awk from getting started to digging in (4) user defined variables
2022-07-04 08:46:00 【Wonderful binary】
No type
BEGIN{}{ num = 100; # Save an integer first print("num is: "num); num = 3.1415926; # Save another floating point number print("num is: "num); num = "I'm string."; # Finally, look at the string print("num is:"num);}END{}
$echo “” |awk -f chapter_2_2-1.awk
num is: 100
num is: 3.14159
num is:I’m string.
awk Variables, like all other scripting languages, are untyped , You can store any type of value , And can be changed at any time , The latter is different from languages that support type inference ( Such as :C#, Although there is no need to specify the type when defining , But once assigned, the type is fixed ).
There is no need to define
BEGIN{}{ print("var is:"var); # I wipe it up. , This is directly used }END{}
$echo “”|awk -f chapter_2_2-2.awk
var is:
Variable write as you use , Even if you use uninitialized variables, there will be no error .
Overall
BEGIN{ print("i in begin: "i);}{ ++i; print("i in body: "i);}END{ print("i in end: "i);}
$cat chapter_2_2-3.awk |awk -f chapter_2_2-3.awk
i in begin:
i in body: 1
i in body: 2
i in body: 3
i in body: 4
i in body: 5
i in body: 6
i in body: 7
i in body: 8
i in body: 9
i in body: 10
i in end: 10
awk All variables in , Whether it is in BEGIN Medium 、BODY Medium 、END Medium , Or what will be mentioned later function Medium , It's all about the overall situation , That is, as long as the variable name is the same , No matter where it is modified , Its value will continue to the next executed code line . This is what we should pay special attention to when using variables , Otherwise, it may cause all kinds of inexplicable problems .
Transfer parameter variable
BEGIN{ print(x); print("i in begin: "i);}{ ++i; print("i in body: "i);}END{ print("i in end: "i);}
$cat chapter_2_2-4.awk |awk -v x=“I’m X” -v i=100 -f chapter_2_2-4.awk
I’m X
i in begin: 100
i in body: 101
i in body: 102
i in body: 103
i in body: 104
i in body: 105
i in body: 106
i in body: 107
i in body: 108
i in body: 109
i in body: 110
i in body: 111
i in end: 111
Variables can be assigned in the program or called on the command line , As the above routine ,x and i The values of are all passed in as command line parameters , This way of parameter passing expands the applicability of scripting .
边栏推荐
- What if I forget the router password
- Manjaro install wechat
- Industry depression has the advantages of industry depression
- From scratch, use Jenkins to build and publish pipeline pipeline project
- @Role of pathvariable annotation
- 2022 gas examination registration and free gas examination questions
- 2022 electrician (intermediate) examination question bank and electrician (intermediate) examination questions and analysis
- Leetcode topic [array] - 121 - the best time to buy and sell stocks
- go-zero微服务实战系列(九、极致优化秒杀性能)
- The map set type is stored in the form of key value pairs, and the iterative traversal is faster than the list set
猜你喜欢
What sparks can applet container technology collide with IOT
Relationship and operation of random events
Démarrage des microservices: passerelle
Call Baidu map to display the current position
Educational Codeforces Round 119 (Rated for Div. 2)
DM8 uses different databases to archive and recover after multiple failures
How college students choose suitable computers
Collections in Scala
微服務入門:Gateway網關
小程序容器技术与物联网 IoT 可以碰撞出什么样的火花
随机推荐
es6总结
Learn nuxt js
微服務入門:Gateway網關
地平线 旭日X3 PI (一)首次开机细节
awk从入门到入土(9)循环语句
Ehrlich sieve + Euler sieve + interval sieve
Group programming ladder race - exercise set l2-002 linked list de duplication
The upper layer route cannot Ping the lower layer route
How can we make a monthly income of more than 10000? We media people with low income come and have a look
Cancel ctrl+alt+delete when starting up
C#,数值计算(Numerical Recipes in C#),线性代数方程的求解,Gauss-Jordan消去法,源代码
awk从入门到入土(5)简单条件匹配
一文了解数据异常值检测方法
Parallel shift does not provide any acceleration - C #
Turn: excellent managers focus not on mistakes, but on advantages
Live in a dream, only do things you don't say
Group programming ladder race - exercise set l1-006 continuity factor
How to play dapr without kubernetes?
Redis sentinel mechanism
What sparks can applet container technology collide with IOT