AWK exec命令中的TCL全局变量

时间:2014-01-25 12:49:26

标签: awk tcl tk

我想在tcl:

中执行以下awk脚本(运行良好)
exec awk {$1=="text" {print $0}} temp1.txt > temp2.txt}

但问题是“text”来自TK入口小部件,我必须把它放在一个awk无法识别的变量($ var)中:

set var [.entry get]
exec awk {$1==$var {print $0}} temp1.txt > temp2.txt}

知道如何跳过它或让它运行吗?

PS我想留下awk,如果可能的话,不要更改tcl上的代码。

此致 卢卡斯

1 个答案:

答案 0 :(得分:4)

使用awk中的-v开关将外部变量传递给awk:

exec awk -v var=$var {$1==var {print $0}} temp1.txt > temp2.txt}