下面是我的输入文件和我正在使用的文件代码。
cat $TESTFILE
2020-01-13,COST_CH_RPT
2018-04-19,LOSS_CH_RPT
代码 :
for i in `cat $TESTFILE`
do
export date=`cat $TESTFILE|cut -d',' -f1`
echo date=$date
export Name=`cat $TESTFILE|cut -d',' -f2`
echo Name=$Name
beeline --outputformat=csv2 --hivevar Name=$Name --hivevar date=$date -u ${beeURL} -f TEST.hql
done
目标是为文件中的每一行运行hql文件,上面的代码是为两行可用的运行两次,但两次运行所传递的变量是相同的,也就是文件中的第一行。我如何才能区分每次运行的输入变量。
1条答案
按热度按时间zazmityj1#
更简单的方法是使用'read'来循环处理这几行。
建议使用引号来防止输入文件中的错误--尤其是空格,因为空格会 "break"命令行。