Linux文件中的特殊换行符

Linux文件中的特殊换行符

大数据项目做数据etl工作时,无可避免的会遇到Linux文件中的一些特殊换行符。在做这些特殊符号的处理的时候往往就相当麻烦,这里详细记录一下怎么这些特殊字符,并转换成能识别的普通字符或者是符合项目数据规范的分隔符。
以下面和这个文件为例:

在这里插入图片描述


查看隐形的分隔符

首先进入vim编辑模式,然后输入: set list查看文件中隐藏的符号
在这里插入图片描述

这里显示的特殊字符是^I , 但是直接示例中直接cat的时候是看不见这个^I ,并且直接用^I去搜索也是不存在的


查看特殊字符对照表

首先进入vim编辑模式,然后输入: help digraph-table查看隐藏的符号对照表

在这里插入图片描述

这里可以看到,^I 实际上是个二拼字符,在vim模式下按住ctrl+k,再输入HT即可输出一个^I。但是想要处理替换掉这个字符,是没法用HT去处理的。好消息是,查到对应的hex和dec了

查看ASCII码对照表

由以上步骤已经查到该字符的dec和hex,就可以在ascII码中查到对应的八进制十进制十六进制的码值。这里贴的是不分码值表,完整的表格自行百度
在这里插入图片描述

通过对照表可以查到^I对应的八进制码是011,dec是9,十六进制码值是0x09

替换字符

这里以八进制码值为例,处理转换^I,替换成普通分隔符|,直接用sed转换整个文件

sed -i 's/\o011/|/g' showChar

需要转义\
需要特殊前缀o识别是八进制

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值