Linux鸟哥视频学习笔记27-28

awk第三部分

awk操作符



实操
awk 'BEGIN{a=3;print a}' 赋值并打印
awk 'BEGIN{a=3;a+=2;print a}' 打印出a=5
awk 'BEGIN{a=3;a*=2;print a}' a=6
awk 'BEGIN{a=3;a/=2;print a}' a=1.5
awk 'BEGIN{a=3;b=4; a>b?b=a:a=b;print a,b}'
awk 'BEGIN{a=3;print a++;print ++a}'
awk 'BEGIN{a=3;print --a;print a--;print --a}'

内置的字符串函数



实操
awk 'gsub("good","GOOD"){print $0}' test 将小写good替换成大写GOOD
awk 'gsub("a","A",$2){print $0}' test 将第二个域中的小写a替换成大写A
awk '{print index($0,"good"),$0}' test 打印good出现的字符位置和行内容
awk '{print length($0),NF,NR,$0}' test 返回长度
awk 'BEGIN{print split("0411-8888-666",aa,"-");print aa[1],aa[2],aa[3]}'
cat -n llvar 
awk '{print sub("2","9"),$0}' llvar 将2替换成9 
awk '{print substr($0,1,5)}' test 取每一行从第一个到第五个符

sprintf:返回经fmt格式化后的exp
实操
awk 'BEGIN{print spritf("%10.4f"3.1415926)}'
awk 'BEGIN{print sprintf("%8d%8i",123,4567)}' 右对齐
awk 'BEGIN{print sprintf("%-8d%8i",123,4567)}' 左对齐


awk内置数值函数

实操
awk 'BEGIN{a=9;print a/2;print int(a/2)}' int取整
awk 'BEGIN{print exp(2)}' 
awk 'BEGIN{print sqrt(2)/2}'
awk 'BEGIN{print sin(0.785398);print cos(0.785398)}'
awk 'BEGIN{print atan2(1,1)}'
awk 'BEGIN{print rand()}' 随机数

cat llvar
awk '{$10=$5-$2;print $10;total+=$2}END{print total}' llvar


实操

awk '{gsub("is","IS");print $0}' test > testawk
cat -n testawk
diff test testawk

cmp test testawk

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值