awk中使用shell的環境變數(轉)

ba發表於2007-08-11
awk中使用shell的環境變數(轉)[@more@]一:"'$var'"

這種寫法大家無需改變用'括起awk程式的習慣,是老外常用的寫法.如:

var="test"

awk 'BEGIN{print "'$var'"}'

這種寫法其實際是雙括號變為單括號的常量,傳遞給了awk.

如果var中含空格,為了shell不把空格作為分格符,便應該如下使用:

var="this is a test"

awk 'BEGIN{print "'"$var"'"}'

二:'"$var"'

這種寫法與上一種類似.如果變數含空格,則變為'""$var""'較為可靠.

三.把括起awk程式的''變為"",使用"$var"

如:

$var="this is a test"

awk 'BEGIN{print "$var"}"

這是因為在""裡$是特殊字元,而在''裡$是普通字元.

四:export 變數,使用ENVIRON["var"]形式,

如:

$var="this is a test";export $var

awk 'BEGIN{print ENVIRON["var"]}'

五:當然也可以使用-v選項

如:

$var="this is a test"

awk -vnvar="$var" '{print nvar}'

這樣便把系統變數定義成了awk變數.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-947572/,如需轉載,請註明出處,否則將追究法律責任。

相關文章