我有一个.sql文件,其中有100个配置单元查询,我希望它们的输出在多个文件中,比如第一个查询.txt文件被创建,第二个查询xyz.txt文件被创建,等等….对于100个查询,100个输出文件分别带有它们的结果
kg7wmglp1#
如果主.sql文件中有分号分隔的sql查询,则可以使用 awk 命令生成单独的配置单元命令和输出文件。
awk
tr '\n' ' ' < yourqueryfile | awk 'BEGIN {RS=";"} \ {gsub(/(^ +| +$)/, "", $0);printf "hive -e \"%s\" >OUT_"NF".txt\n",$0}' ``` `RS=";"` -将记录分隔符设置为“;” `tr` -将查询之间的换行替换为单个空格。 `gsub` -修剪前导空格和尾随空格。 该命令将生成多个这样的配置单元命令行。
hive -e "select 1" >OUT_2.txthive -e "select 3 from ( select 4 )" >OUT_7.txthive -e "select name from t union select n from t2" >OUT_9.txthive -e "select * from c" >OUT_4.txt
1条答案
按热度按时间kg7wmglp1#
如果主.sql文件中有分号分隔的sql查询,则可以使用
awk
命令生成单独的配置单元命令和输出文件。hive -e "select 1" >OUT_2.txt
hive -e "select 3 from ( select 4 )" >OUT_7.txt
hive -e "select name from t union select n from t2" >OUT_9.txt
hive -e "select * from c" >OUT_4.txt