当前位置:网站首页>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 .
边栏推荐
- Codeforces Global Round 21(A-E)
- deno debugger
- [Chongqing Guangdong education] National Open University spring 2019 455 logistics practice reference questions
- Newh3c - network address translation (NAT)
- Collections in Scala
- Azure ad domain service (II) configure azure file share disk sharing for machines in the domain service
- C # implements a queue in which everything can be sorted
- If the array values match each other, shuffle again - PHP
- HMS core helps baby bus show high-quality children's digital content to global developers
- Add log file to slim frame - PHP
猜你喜欢
Educational Codeforces Round 115 (Rated for Div. 2)
SSRF vulnerability exploitation - attack redis
DM8 database recovery based on point in time
Redis 哨兵机制
Snipaste convenient screenshot software, which can be copied on the screen
How to play dapr without kubernetes?
System disk expansion in virtual machine
AI Winter Olympics | is the future coming? Enter the entrance of the meta universe - virtual digital human
[attack and defense world | WP] cat
Fault analysis | MySQL: unique key constraint failure
随机推荐
How to solve the problem of computer jam and slow down
Azure ad domain service (II) configure azure file share disk sharing for machines in the domain service
ctfshow web255 web 256 web257
2022 electrician (intermediate) examination question bank and electrician (intermediate) examination questions and analysis
MySQL relearn 1-centos install mysql5.7
awk从入门到入土(4)用户自定义变量
C#实现一个万物皆可排序的队列
High order phase difference such as smear caused by myopic surgery
How can we make a monthly income of more than 10000? We media people with low income come and have a look
Codeforces Round #793 (Div. 2)(A-D)
Convert datetime string to datetime - C in the original time zone
AI Winter Olympics | is the future coming? Enter the entrance of the meta universe - virtual digital human
Private collection project practice sharing [Yugong series] February 2022 U3D full stack class 007 - production and setting skybox resources
如何通过antd的upload控件,将图片以文件流的形式发送给服务器
awk从入门到入土(6)正则匹配
PHP session variable passed from form - PHP
2022 tower crane driver examination and tower crane driver examination questions and analysis
Leetcode topic [array] - 121 - the best time to buy and sell stocks
Manjaro install wechat
Use Alibaba cloud NPM image acceleration