Oracle全表抽取到HDFS中字段中换行符的处理

原创
2020/08/06 21:04
阅读数 793

问题处理,我们在抽取数据时利用/x02作为换行符,接着利用sed命令来将文件中/n替换成空格

sed -i ':a;N;s/\n/ /g' file_name

处理时发现文件过大,一次处理并不能将/n处理干净,因此利用脚本多次处理

#!/bin/sh
handle_file=$1
echo "程序开始执行"
date "+%Y-%m-%d %H:%M:%S"
num=`cat $handle_file|wc -l`
echo $num
#num=1088
sed -i 's/\r/ /g' ${handle_file}
echo $num
while (($num))
do
      num=$((num/2))
      echo $num
      sed -i ':a;N;s/\n/ /g' ${handle_file}
done
sed -i ':a;N;s/\n/ /g' ${handle_file}
wc -l ${handle_file}
sed -i 's/\x02/\n/g' ${handle_file}
wc -l ${handle_file}

echo "程序执行结束"
date "+%Y-%m-%d %H:%M:%S"

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部