unbounder 发表于 2013-2-4 13:40:59

awk中调用shell函数和变量的方法

初学shell,遇到要将awk的日期转变格式的问题,用awk内建函数不好解决,考虑引入外部函数。

引入方法XXX和变量YYY
export -f XXXawk -v YYY=$YYY '{    print YYY;    date=$1;    cmd="transTime "date;    cmd|getline accesstime;    close(cmd);}' $logfileecho output to $outputfile1}
引入外部变量的格式是awk -v YYY=$YYY
引入外部方法有两种格式
system("xxx")
"xxx"|getline
前者返回的是执行后的状态,后者返回的执行后的结果。

注意几点
1 先用export -f xxx将方法xxx引为系统方法
2 用临时变量而不是直接传入语句
3 用close关闭管道
页: [1]
查看完整版本: awk中调用shell函数和变量的方法