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

xiaoxiao2021-02-28  112

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

转载请注明原文地址: https://www.6miu.com/read-56204.html

最新回复(0)