如何为awk过滤器定义变量?

时间:2015-03-27 02:24:10

标签: bash shell awk

我知道我可以在//中使用“awk”来过滤特殊行,例如:

echo -e "aaa bbb ccc\nddd eee fff" | awk '/bbb/ {print $3}'

输出结果为:

ccc

我想为“//”中的值定义变量,例如Bash shell

#!/bin/bash
re="bbb"
echo -e "aaa bbb ccc\nddd eee fff" | awk '/${re}/ {print $3}'

但它不起作用。如何为过滤器定义变量?

1 个答案:

答案 0 :(得分:0)

~运算符与awk变量一起使用:

awk -v re="$re" '$0 ~ re { print $3 }'