本文共 993 字,大约阅读时间需要 3 分钟。
Notepad++怎样输入字符[NUL]? 安装 Hex-Editor 插件: HexEditor插件用于在notepad++中查看16进制文件,只需要将此dll放入notepad++安装目录下plugins文件夹下,重启notepad++即可。 使用方法: 可以切换到Hex模式,输入00,再切换回来。 (使用notepad++打开16进制文件,然后单击菜单栏的‘H’按钮,即可转换,如果想转回来,再按一次‘H’按钮) 在文本文件中,有时候会包含一些空字符或
^@ : 源数据在windows平台上Notepad++ 打开情形如下 : 源数据在Linux Centos6.5平台上vim打开情形如下: 在使用Tunnel将生产环境下的文本数据上传到ODPS表过程中,由于源数据某些字段为NUL或
^@ ,报错无法正确读取, 异常是: 导入数据列与目标表中列不匹配(not match) . 可能是由于生产环境下业务需要,无效数据打上NUL字符或
^@标记 。 想办法把源数据中存在NUL或 ^@ 过滤或替换成空值。 具体 解决方案如下: 字符在Linux平台上用vim编辑器打开后显示^@,用sed命令将^@替换成空 sed 's/[\x00]//g' test.txt > test.txt.bak sed -i 's/[\x00]//g' test.txt ( - i选项:直接作用源文件,源文件将被修改 ) 替换后效果截图如下:
使用tunnel遇到空数据问题(建立测试数据): 在一行中若有两个逗号,表明在中间有一个 缺失值, test.txt文本测试数据如下: 201207092314 | null | rubbyhao | 20160516 |
201207092313 | null | babyliy | 20160516 |
结论:对于文本文件中''导入到ODPS表中默认插入式null值
find . -type f -name 文件名 -exec ./changerepository.sh {} /; 转载地址:http://vgjka.baihongyu.com/