awk,gawk调用shell,bash中的变量 笔记221106

83 阅读1分钟

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{}语句块 时, 可以不需要输入流