在使用变量中的正则表达式时,应该使用双引号将awk命令包裹,而不是单引号。由于单引号不会对变量进行展开,而是将其作为文本字符串处理,因此会导致正则表达式无法正常工作。 例如,将以下命令中的单引号改为双引号即可解决问题:
regex="pattern" awk -v r="$regex" '{if($0 ~ r) print}' file.txt
上一篇:awk命令中使用分号与不使用分号的区别和解决方法
下一篇:Awk模式匹配和处理缺失字段