在awk中,能不能把正则表达式中使用变量的值

key="bin.*rundb"if(fieldname~/key/){printf("%s\n",fieldname);}由于key值不断变化,但是上面的程序好像不能进... key="bin.*rundb"
if (fieldname ~ /key/) {
printf("%s\n", fieldname);
}

由于key值不断变化,但是上面的程序好像不能进行这种变量的替换,而是直接查找key这个字符串。awk支持这种替换吗?要是支持,应该怎么写呢?
展开
 我来答
百度网友5e61bcf2d
2008-03-14 · TA获得超过819个赞
知道小有建树答主
回答量:300
采纳率:0%
帮助的人:538万
展开全部
首先,你的写法if (fieldname ~ /key/) {
有问题,写成~ /key/的话他是查找key,而不是key指代的字符
要么写成~ /bin.*rundb/,如果在awk中使用变量,格式如下:
~/"'$key'"/,fieldname也一样
再就是赋值为*在shell中结果会很诡异(key="bin.*rundb" )
不知道你要做什么的,你能说清楚点吗?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式