awk一些很恐怖的特性

使用也可以产生值

echo "" | awk 'END{a[1]=1;x = a[2];print length(a);print a[3];print length(a)}'

打印结果是:2 空行 3

这个awk的数组元素居然是3!!就是说使用数组也是定义数组!!!这很恐怖,一不小心代码就会混入bug,而且会虚耗内存

那么在使用数组时必须这样

if (key in array)
    a = array[key]

 


 

awk只有参数列表里出现的变量会被当做局部变量

#!/bin/sh

echo "" | awk '

function test(s)
{
    print s
    s = "wa!"
    print s
    print "test.."
}



END{
    s = "hello"

    test(s)
    print s


}'

输出

hello

wa!

test...

hello

转载于:https://www.cnblogs.com/code-style/archive/2013/05/15/3079668.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值