awk中使用shell命令的方法

7 篇文章 0 订阅
4 篇文章 1 订阅

2011-10-15


awk中使用shell命令的方法:

方法1:system
方法2:getline (获取shell命令结果的第一行输出)

[1] system

#!/bin/sh

echo "gerry" | awk '{ system("date") }' | awk -F " " '
BEGIN{    
    print "begin"
}
{
    #operation

    # save time
    time=$4
    print time
}
END{
    print "end"
}
'

[2] getline(获取shell命令结果的第一行输出)
#!/bin/sh

echo "gerry" | awk '{ "date" | getline tm; print tm }' | awk -F " " '
BEGIN{    
    print "begin"
}
{
    #operation

    # save time
    time=$4
    print time
}
END{
    print "end"
}
'

[3] 动态获取时间
# write_time.sh

#!/bin/sh

while [ 1 ]; do
    date >> outfile
    sleep 1
done


# dynamic_read.sh

#!/bin/sh

tail -f outfile | awk -F " " '
BEGIN{    
    print "begin"
}
{
    #operation

    # save time
    time=$4
    print time
}
END{
    print "end"
}
'

测试:
./write_time.sh &
./dynamic_read.sh


获取awk返回的结果
g_val=$( date | awk -F " " '{ print $4 }' ); echo $g_val
或者
echo ${g_val=$( date | awk -F " " '{ print $4 }' )}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值