当前位置:网站首页>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 .
边栏推荐
- Developers really review CSDN question and answer function, and there are many improvements~
- awk从入门到入土(15)awk执行外部命令
- Learn nuxt js
- ES6 summary
- Parallel shift does not provide any acceleration - C #
- go-zero微服务实战系列(九、极致优化秒杀性能)
- HMS core helps baby bus show high-quality children's digital content to global developers
- [CV] Wu Enda machine learning course notes | Chapter 9
- FOC control
- 2022 gas examination registration and free gas examination questions
猜你喜欢

Codeforces Round #750 (Div. 2)(A,B,C,D,F1)

FOC control

MySQL relearn 1-centos install mysql5.7

High order phase difference such as smear caused by myopic surgery

HMS core helps baby bus show high-quality children's digital content to global developers

地平线 旭日X3 PI (一)首次开机细节

What if the wireless network connection of the laptop is unavailable

The second session of the question swiping and punching activity -- solving the switching problem with recursion as the background (I)

ES6 summary

广和通高性能4G/5G无线模组解决方案全面推动高效、低碳智能电网
随机推荐
Laravel page load problem connection reset - PHP
SSRF vulnerability exploitation - attack redis
Codeforces Round #793 (Div. 2)(A-D)
A single element in an ordered array
DM8 tablespace backup and recovery
Redis 哨兵机制
ctfshow web255 web 256 web257
Snipaste convenient screenshot software, which can be copied on the screen
Turn: excellent managers focus not on mistakes, but on advantages
埃氏筛+欧拉筛+区间筛
Conversion of yolov5 XML dataset to VOC dataset
一文了解数据异常值检测方法
Redis sentinel mechanism
微服务入门:Gateway网关
How to re enable local connection when the network of laptop is disabled
HMS core helps baby bus show high-quality children's digital content to global developers
MySQL relearn 1-centos install mysql5.7
Add log file to slim frame - PHP
The upper layer route cannot Ping the lower layer route
Show server status on Web page (on or off) - PHP