awk,gawk调用shell,bash中的变量 笔记221106
"'${变量名}'"双 包 单 包 ${} 包 变量名"'"${变量名}"'"双 包 单 包 双 包 ${} 包 变量名
方法一: "双引号"包裹'单引号' 包裹${} 包裹变量名
"'${变量名}'" 双单${量}单双
例1
v001=HelloWorld
echo aaa | awk '{print "'${v001}'"}'
前面的 echo aaa 只是满足awk要有一个输入,没有别的作用
例2
echo a | awk '{print "'$PATH'"}'
方法二: 方法一再包一层双引号 : 双 包 单 包 双 包 ${} 包 变量名
"'"${变量名}"'" 双单双 ${ 变量名 } 双单双
例1
v001=HelloWorld
echo aaa | awk '{print "'"${v001}"'"}'
前面的 echo a 只是满足awk要有一个输入,没有别的作用
例2
echo a | awk '{print "'"$PATH"'"}'
方法三 使用-v选项
-v选项 可以定义awk变量, 并将一个shell变量赋值给awk变量
例1
v001=HelloWorld
awk -v v=$v001 'BEGIN { print v } '
例2
awk -v v=${PATH} 'BEGIN{print v}'
当 AWK 只使用 BEGIN{}语句块 时, 可以不需要输入流