一、变量
$0 完整的输入记录
FILENAME:当前文件名
FS:输入域分隔符(默认是一个空格)
OFS:输出文件分隔符(字段分隔符)(默认值是一个空格)
RS:输入记录分隔符(默认是一个换行符)
ORS:输出记录的分隔符(行分隔符)(默认值是一个换行符)
NF:当前记录的字段数
NR:当前文件的记录数
FNR:和NR类似,打开一个文件二者功能一样;只是针对多文件,新打开文件FNR遍从1累加记录
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ARGC:命令行参数的数目;是一整数,代表命令行上除了选项-v, -f 及其对应的参数之外所有参数的个数
ARGV:包含命令行参数字符串数组,ARGV[0],ARGV[1]....ARGV[ARGC-1]分别代表命令行上相对应的参数
SUBSEP:数组下标分隔符(默认值是\034)
RSTART:由match函数所匹配的字符串的第一个位置
ENVIRON:环境变量关联数组
echo 10 100 1000 10000 |awk '{OFS="\n";print $1,$2,$3,$4}'
awk 'BEGIN{FS=":";ORS="\n"}{ print NR,$1,$NF}' /etc/passwd
awk 'BEGIN{FS=":";ORS="\n"}{ print NR,$1,$NF}' /etc/passwd
awk 'BEGIN{for(i=0;i<ARGC;i++) print ARGV[i]}' a.txt b.txt c.txt
awk 'BEGIN{for(i=0;i<ARGC;i++) print ARGV[i-1]}' a.txt b.txt c.txt
awk 'BEGIN{ay[1,10]=5;ay[10,2]=12}END{ for(k in ay) {split(k,idx,SUBSEP);print idx[1],idx[2],ay[idx[1],idx[2]];}}' /dev/null
二、运算符
1、赋值运算符:
= += -= *= /= %= ^= **= 赋值语句
2、逻辑运算符
|| 逻辑或
&& 逻辑与
3、正则运算符
~ ~! 匹配正则表达式和不匹配正则表达式
4、关系运算符
< <= > >= != == 关系运算符
5、算术运算符
+ - 加,减
* / & 乘,除与求余
+ - ! 一元加,减和逻辑非
^ *** 求幂
++ -- 增加或减少,作为前缀或后缀
6、其它运算符
$ 字段引用
空格 字符串连接符
?: C条件表达式
in 数组中是否存在某键值
运算符 用途
------------------
x^y x的y次幂
x**y 同上
x%y 计算x/y的余数(求模)
x+y x加y
x-y x减y
x*y x乘y
x/y x除y
-y 负y(y的开关符号);也称一目减
++y y加1后使用y(前置加)
y++ 使用y值后加1(后缀加)
--y y减1后使用y(前置减)
y-- 使用后y减1(后缀减)
x=y 将y的值赋给x
x+=y 将x+y的值赋给x
x-=y 将x-y的值赋给x
x*=y 将x*y的值赋给x
x/=y 将x/y的值赋给x x%=y 将x%y的值赋给x
x^=y 将x^y的值赋给x
x**=y 将x**y的值赋给x
<一>awk变量和运算符
原创
©著作权归作者所有:来自51CTO博客作者5iqiong的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:mysql主从同步故障
下一篇:expect简单安装
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
awk环境变量和运算符
行中当前文件的位置(从0开始算)。A
字段 默认值 分隔符 -
Awk变量
awk内建变量,awk自定义变量,awk常用的小例子
职场 休闲 awk awk变量 awk自定义变量 -
AWK变量笔记
&n
职场 休闲 变量 AWK