我尝试在awk命令中使用bash变量,如下所示在awk命令中创建一个变量。但它似乎不起作用
b=hi
$ echo "hihello" |awk -v myvar=$b -F"$0~myvar" '{print $2}'
实际输出为:
<empty / nothing printed >
预期输出为:
您好
答案 0 :(得分:1)
你为什么不这样做:
b=hi ; echo "hihello" | awk -F"$b" '{print $2}'
hello
答案 1 :(得分:0)
尝试以下awk命令。将字段分隔符放在BEGIN块中。
$ b=hi; echo "hihello" | awk -v myvar=$b 'BEGIN{FS=myvar}{print $2}'
hello
它将myvar变量的值设置为Field Separator。因此,打印第二列将为您提供字符串hello