awk中的变量不返回结果。
我正在尝试使用awk从文件中获取匹配值的下一行。它在没有变量的情况下工作得很好。谢谢。
$ cat file
name=bobk
snm=sahh
emp=bklc
jdate=879
$
$ awk '/name/{getline; print}' file
snm=sahh ---------> Got the result
$
$ export MYVAR=name
$
$ echo $MYVAR
name
$
$ awk -v AVAR=${MYVAR} '/AVAR/{getline; print}' file
$ ---------> No result发布于 2015-10-24 07:49:21
使用AWK变量传递参数的意图几乎总是清晰的;然而,在这个特定的例子中,生成的脚本比它需要的要复杂一些--而且打破规则实际上可能更容易理解和与他人交流。
使用双引号对脚本进行转义时,不需要使用额外的AWK变量。如果我们把shell变量放在/中,就不需要{}:
$ awk "/$MYVAR/ {getline; print}" file
snm=sahh
$https://stackoverflow.com/questions/16283018
复制相似问题