var是shell变量,而awk是Linux中独立于shell的一个工具。在awk中如果要解析shell变量,需要将变量拿到awk的作用域外面来,即,先关闭awk的单引号,引用变量后再次打开。
echo $str|awk -F, '{print '$var' }'
CODE: $ awk '{print $$A}' 1.txt 那是因为 $A 的 $ 在 hard quote 中是不能替换变量的。 聪明的读者(如你!)经过本章学习我想应该可以解释为何我们可以使用如下操作了吧 CODE: A=0 awk "{print \$$A}" 1.txt awk \{print\ \$$A\}
1.txt awk '{print $'$A'}'
1.txt awk '{print $'"$A"'}' 1.txt # 注"$A" 包在 soft quote 中 或许你能举出更多的方案呢.... ^_^