linux awk学习笔记(二) 运算和环境变量

awk 是一门语言, 那就可以定义变量/数组,还可以运算, 流程控制
一 定义数组
数组名[索引]=值
定义数组array,有两个元素100, 200 并打印出来
awk 'BEGIN{array[1]=100;array[2]=200;print array[1], array[2]}’
awk 语句之间用分号隔开
二 awk 运算
1 赋值运算 =
awk 'BEGIN{name=“baishuming”;print name}’

2 比较运算 > >= == <= !=
字符串的比较按照ASCII编码比较, 返回结果为1 代表真, 0 代表假
awk 'BEGIN{print “a” =< "b”}’ 1
awk 'BEGIN{print 2 < 5}’ 0

3 数学运算 + - * / % **(幂) ++ —
awk ‘BEGIN{a=“12”; print a, a++,++a; print a+2, a*2, a-1,a^2, !a}’

4 逻辑运算 &&(与) ||(或)
awk ‘BEGIN{a=“12”;b=“5”;print (a>10) && (12 <= b); print (a>10) && (12 > b); print(9<=b) ||(a >= 10) ; print(9 <= b) ||(a <= 10)}’

5 匹配运算 ~匹配 !~非匹配
awk -F: '$1 ~ “root”{print $0}’ file 精确匹配(正则 表达式)
awk -F: '$1 ~ “^root"{print $0}’ file 模糊匹配 第一个字段以root开头
awk -F: '$1 !~ “^root"{print $0}’ file 模糊不匹配

三 awk 环境变量
seq 1 10 >> num
FILELDWIDTHS 以空格分隔的数字列表, 用空格定义每个数据字段的精确宽度
FS input field separator 输入自定义字段分隔符,默认换行符
OFS Output Filed Separator 输出字段分隔符

RS input Record separator 输入自定义记录分隔符, 默认是空格
[root@xiaolong_cloud shell_study]# awk ‘BEGIN{RS=""}{print $1,$2}’ num
1 2
ORS Output Row Separator 输出记录分隔符
[root@xiaolong_cloud shell_study]# awk ‘BEGIN{RS="";ORS="-"}{print $1,$2}’ num
1 2-[root@xiaolong_cloud shell_study]#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值