awk 变量传到shell
今天之前的同事问我一个关于awk的问题。他的意思是通过awk操作获得的几行数据是不定的,需要将获得的几行数据存到一个数组中,又不想使用循环。经过一下午的努力。终于实现了。
最终命行eval $(ps -ef | grep tomcat | awk '{print $9}'|sed '/home/!d'|sed 's/^.*home\///g'|sed 's/\/.*$//g' | awk '{printf "line["NR"]=%s\n",$1}').
需要注意的地方1. 在awk中对变量赋值,如果不使用eval $() 是不能在shell中使用awk中变量的。2. awk中有NR,NF这样的参数,可以利用它生成一个数组。
作者:雪刚
出处:http://www.cnblogs.com/xuegang/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。