|
发表于 2011-5-17 19:26:26
|
显示全部楼层
Post by obennoname;2138976
原来awk在双引号里引用变量需要加$号,而且需要单引号括起来……
awk '{print > "'$variable'"}'就可以了..
做法是可行的但解释是错的。awk的运行字符串其实是由bash先解释过了。如下所示,由单引号括起来的部分bash不做什么解释,蓝色部分其实是在单引号外面,由bash先做了变量替换再传给awk。这个过程其实跟awk没有关系,在其它程序比如sed, grep等都适用。为了防止变量带空格,最好用双引号把变量括起来。
[color="Red"]'{print > "'[color="Blue"]$variable[color="Red"]'"}' |
|