[英]awk command not working as expected when bash variable is used inside
我试图通过在awk命令中创建变量来在awk中使用bash变量,如下所示。 但似乎不起作用
b=hi
$ echo "hihello" |awk -v myvar=$b -F"$0~myvar" '{print $2}'
实际输出为:
<empty / nothing printed >
预期输出为:
你好
您为什么不这样做:
b=hi ; echo "hihello" | awk -F"$b" '{print $2}'
hello
请尝试以下awk命令。 将字段分隔符放在BEGIN块中。
$ b=hi; echo "hihello" | awk -v myvar=$b 'BEGIN{FS=myvar}{print $2}'
hello
它将myvar变量的值设置为Field Separator。 因此,反过来打印第二列将为您提供字符串hello
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.