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
?BSDawk
、GNUawk
和mawk
都能发现您awk
脚本中的语法错误。我真的很想知道。你在用什么awk
?BSDawk
、GNUawk
和mawk
都能发现您awk
脚本中的语法错误。我真的很想知道。