Hive隐藏分割字符\001替换为可见字符

来源:互联网 发布:网络歌手伤感歌曲 编辑:程序博客网 时间:2024/06/05 17:16

Hive默认的分隔符是\001,属于不可见字符,这个字符在vi里是^A

一个文本0000_0,直接cat内容如下:

320643204N2559613979
320828796N446323
320829214N38122627

vi打开,显示为如下:

320643204^AN^A25596^A13979
320828796^AN^A446^A323
320829214^AN^A3812^A2627

这个时候,按Esc键,输入:
%s
这个时候按下CTRL+V+A(会自动变成^A),
然后再输入/|/g,如下:

:%s/^A/|/g

替换为:

320643204|25596|13979
320828796|446|323
320829214|N|3812|2627

保存即可。

最简单的方法就是用sed(注意这个^A是按CTRL+V+A打出来的哦,直接输入的^A是不行的。)

sed -i 's/^A/|/g' 000000_0

^A在终端下通常按CTRL+V+A组成。

还有一种办法,就是用tr

tr '\001' '\|' <000000_0> 000000_1

把包含隐藏字符的文件000000_0保存为新的文件000000_1

原创粉丝点击