awk -F 。。。 -v 。。。

sensor_keystr="temp:.*temp"
res=`awk -F "|" '{print $1 "" $2}' -v key=$sensor_keystr $OUTFILE`
执行报错
awk: fatal: cannot open file `-v' for reading (No such file or directory)
我的文件没问题,加了-v就有执行不通了

-v  有设置awk语言中的变量的作用。

a。如果加-v  要放在 awk语句之前,变成:

res=`awk -F "|"  -v key=$sensor_keystr  '{print $1 "" $2}' $OUTFILE`

但是你的awk语句中没有用到  名字是key的变量。

b。也可以在awk语句后面对变量赋值,这时不要加上  -v,直接变量赋值即可【注意:这种情况下,awk语句中BEGIN区块中变量没有被赋值】。

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-08-04
???????
相似回答