awk使用shell變量
1."'$var'" 單引號在里雙引號在外
#!/bin/bash
var="test"
awk 'BEGIN{print "'$var'"}'
這種寫法要求變量var中不含有空格。若var中含有空格,那么就要用 “‘“$var”’”
這種寫法親測有效
2.export變量,然后用ENVIRON[“var”]
#!/bin/bash
var="test"
export var
awk 'BEGIN{print ENVIRON["var"]}'
3.使用-v選項。
#!/bin/bash
var="test"
awk -v nvar="$var" 'BEGIN{print nvar}'
這種方法也可以
shell使用awk傳遞出來的變量
eval
along@along-laptop:~/code/shell/shell$ cat awktest.sh
#!/bin/bash
var1="test"
var2="along"
eval $(awk 'BEGIN{print "var1=along;var2=test"}')
echo "var1:"$var1
echo "var2:"$var2
along@along-laptop:~/code/shell/shell$ ./awktest.sh
var1:along
var2:test