当前位置:首页>科技>awk的基本应用快速学习awk编程九
发布时间:2026-07-21阅读(1)
环境变量数组
数组ENVIRON被分别添加到gawk和MKS awk中。
然后被添加到System V Realease 4 nawk中,现在被包含在POSIX表侄女的awk中。它允许你访问环境变量。
BEGIN{
for ( env in ENVRION)
print env “=“ ENVIRON[env]
}
这部分实验结果数组为空,原因不明。
函数
9个内置函数归为算数函数。
cos(x) x的余弦
exp(x) e的x次幂
int(x) x的整数部分
log(x) x的自然对数(e为低)
sin(x) x的正弦(x为弧度)
sqrt(x) x的平方根
atan2(y,x) y/x的反正切
rand() 伪随机数,0~1(最小为0)
srand(x) 建立rand()的心的种子。如果没有指定中子数,就用当天的时间。
三角函数
三角函数sin() cos()的运行方式相同,弧度表示的角度作为参数并计算这个角的正弦或余弦
三角函数atan2()有两个参数并返回这两个数商的反正切
exp()是自然指数,以e为底的指数
函数log()是函数exp()的反函数,即x的自然对数。
sqrt()的参数只有一个,返回这个数的正平方根。
整数函数int(),取整
随机数的生成
rand()生成一个0到1之间的浮点型的伪随机数。
函数srand()为随机数发生器设置一个种子数,或起点数。如果调用srand()时没有参数,它将用当时的时间来生成一个种子数。
如果没有调用srand(),awk在开始执行程序之前默认以某个常量为参数调用srand()。使得你的程序在每次运行时都从同一个种子数开始。这可以用于重复测试相同的操作,但是如果希望程序在不同的时间运行具有不同的操作则不合适。
BEGIN{
print rand()
print rand()
srand()
print rand()
print rand()
}
awk -f awkrand
0.237788
0.291066
0.213636
0.754719
awk -f awkrand
0.237788
0.291066
0.758529
0.904859
两次运行,发现前两个随机数一样,而后两个不一样
生成器:
1.传入2参数,第一个是取数数量,第二个是最大数
2.使用随机数生成1个,乘以最大数,取整,保存到数组
3.循环生成第二个,检测是否与以生成数重复,不重复保存继续;重复舍弃继续
4检测数组数量,达到取数数量后退出循环;没达到则重复3
字符串函数
内置字符串函数比算数函数更重要。
awk被设计成字符串处理语言。
Copyright © 2024 有趣生活 All Rights Reserve吉ICP备19000289号-5 TXT地图HTML地图XML地图