Shell awk不打印变量值

Shell awk不打印变量值,shell,awk,sed,hive,sh,Shell,Awk,Sed,Hive,Sh,我正在查询一个提供多行输出的配置单元表。我想在输出的每一行的开头添加一个变量值。我正在运行以下命令,但未替换变量的值: var=case1 `hive -e "select date from table1 limit 5;" | awk -v b=$var 'print b $0' 这给了我以下输出: b20180101 b20180202 b20180303 b20180404 b20180505 case120180101 case120180202 case120180303 cas

我正在查询一个提供多行输出的配置单元表。我想在输出的每一行的开头添加一个变量值。我正在运行以下命令,但未替换变量的值:

var=case1
`hive -e "select date from table1 limit 5;" | awk -v b=$var 'print b $0'
这给了我以下输出:

b20180101
b20180202
b20180303
b20180404
b20180505
case120180101
case120180202
case120180303
case120180404
case120180505
我期待以下输出:

b20180101
b20180202
b20180303
b20180404
b20180505
case120180101
case120180202
case120180303
case120180404
case120180505

我做错了什么?

您将打印语句放在awk条件区域而不是操作区域:

awk -v b="$var" '{print b $0}'

您将打印语句放在awk条件区域而不是操作区域:

awk -v b="$var" '{print b $0}'

您正在使用什么
awk
?BSD
awk
、GNU
awk
mawk
都能发现您
awk
脚本中的语法错误。我真的很想知道。你在用什么
awk
?BSD
awk
、GNU
awk
mawk
都能发现您
awk
脚本中的语法错误。我真的很想知道。