awk结果 向shell变量传递!

jackxiang 2009-12-7 14:51 | |
#!/bin/sh

var=$(awk '{print $1}' tmp.txt)

echo $var

注意:var= 后面没有空格;



-----------------------------------------

awk使用shell变量

1."'$var'"

#!/bin/bash
var="test"
awk 'BEGIN{print "'$var'"}'

这种写法要求变量var中不含有空格。若var中含有空格,那么就要用"'"$var"'"

2.export变量,然后用ENVIRON[“var”]

#!/bin/bash
var="test"
export var
awk 'BEGIN{print ENVIRON["var"]}'

3.使用-v选项。

#!/bin/bash
var="test"
awk -v nvar="$var" 'BEGIN{print nvar}'

shell使用awk传递出来的变量 --eval

$ cat awktest.sh


#!/bin/bash
var1="test"
var2="along"
eval $(awk 'BEGIN{print "var1=along;var2=test"}')
echo "var1:"$var1
echo "var2:"$var2

$ ./awktest.sh


var1:along
var2:test



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/shuinieh/archive/2009/10/10/4649723.aspx

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/2306/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!

评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]