进行beeline结果输出并解析时遇到一个字符串格式问题,正确操作如下:
beeline -u $url --silent=true --showHeader=false --outputformat=csv --color=true -e "$hql"
格式参数:--outputformat=[table/vertical/csv/tsv/dsv/csv2/tsv2]
1、输出格式一定要注意,否则会掉进坑里:
为了便于输出结果解析,建议把输出格式设置成普通文本,否则输出格式默认为talbe,实际解析过程中回
发现echo的结果和实际字符串内存不一致,输出到文本后发现多处了很多特殊字符,需要强制转换。
2、table格式输出强制转换方式:
###特殊编码问题转换 !!!!
CSI='\x1b\['
Rp='[0-9:;<=>?]'
Ri='[- !\"#$%&'\''()*+,./]'
Rf='[]@A-Z[\\^_`a-z{|}~]'
line0=`echo $result |sed -e 's/'"$CSI$Rp"'*'"$Ri"'*'"$Rf"'//g'`