【awk】shell如何向awk傳遞參數


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM