加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

vim下处理文档中的\r\n\t字符

发布时间:2020-12-15 16:32:26 所属栏目:安全 来源:网络整理
导读:问题复现 拿到的文档中包含了大量的 r 、 n 、 t 等字符,形如: rnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrn rn title历史账单/titlern rnrnrnrnrnrnrnrnrnrnscrip

问题复现

拿到的文档中包含了大量的rnt等字符,形如:

rnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrn rn <title>历史账单</title>rn rnrnrnrnrnrnrnrnrnrn<script type="text/javascript" src="/pages/js/jquery-1.11.3.min.js"></script>rn<script type="text/javascript" src="/cms/up3/js/jquery.flashSlider-1.0.min.js"></script>rn<script type="text/javascript" src="/cms/up3/js/common.js">

看起来乱糟糟的,很不直观。

问题分析

简单的说是由于WindowsLinux换行的表示不一样导致的。详细的可以参考这篇文章linux下与windows下的换行符。这里不做过多的探究。我们只需要把这些字符替换成Linux中对应的表示即可。在Ubuntu中我们使用r来表示换行(关于换行与回车可以参考回车与换行的区别),这里我们还要注意一点就是即使你在Windows环境下,对于Vim来说都是都是有固定的表示的。可以参考这个Why is r a newline for Vim?,这里我们只要知道:我们把rn换成r就可以了

问题解决

上面的问题多处于Linux机器上,我们使用Vim来进行处理。步骤如下:

  • 把有如上问题的文档丢进Vim编辑器
  • Vim中使用如下命令来处理rn(记得转义),替换成r的换行
:1,$s/rn/r/g
  • 同样的方式处理t,将至替换成四个空格
:1,$s/t/    /g

方法详解

上面的解决方法是利用Vim的替换功能将字符替换成对应的正确的表示。其中:

1,$s/

表示从第一行到最后一行开始匹配,匹配的内容是后面的正则。

/rn/r/g

这里是一个正则以及要替换的内容。遵循这样的格式:/要正则匹配的部分/要替换成的部分/g

参考资料

  • linux下使用vim替换文件中的^M换行符
  • vim 查找和替换命令 替换/n和n
  • 回车与换行的区别
  • Why is r a newline for Vim?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读