我正在查询一个hive表,它给出了多行输出。我想在输出的每一行的开头添加一个变量值。我正在运行以下命令,但变量的值未被替换:
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
我在这里做错了什么?
答案 0 :(得分:2)
您将print语句放在awk条件区域而不是操作区域中:
awk -v b="$var" '{print b $0}'
答案 1 :(得分:0)
以下内容对您有帮助。
val="case1"
awk -v var="$val" '{print var $0}' Input_file
OR
val="case1"
variable=$(your_command | awk -v var="$val" '{print var $0}')
如果您想将输出保存到Input_file本身,请在上面的代码中附加> temp_file && mv temp_file Input_file
。