awk中使用shell的环境变量一:"'$var'"这种写法大家无需改变用'括起awk程序的习惯,是老外常用的写法.如:var="test"awk 'BEGIN{print "'$var'"}'这种写法其实际是双括号变为单括号的常量,传递给了awk. 如果var中含空格,为了shell不把空格作为分格符,便应该如下使用:var="this is a test"awk 'BEGIN{print "'"$var…
今天写脚本,遇到awk脚本向shell传参的情况,上网谷歌一下,发现都有些麻烦,通过管道,通过eval,感觉都很复杂.于是想到用read来试一下. 首先构造一个测试文件test.txt,里面的内容是1 2 3. 一开始尝试 awk '{print $1 $2 $3}' test.txt | read a b c 可是echo $a,发现为空,失败了. 试了下 echo "1 2 3" | read a b c 也无法给a b c 赋值 看来read不是这样用的,怒谷歌之,在stacko…