删除非打印字符

删除非打印字符

我有一个制表符分隔的文本文件。当我使用 vi 编辑器打开文件时,我可以看到 ^M 字符(蓝色)。这不是我的数据的一部分。它出现在那里是因为原始 SQL 数据有回车符 /r 符号。

713498  29195   NWSO    NE SA COLLEGE  2       O-      0.3     0.3     0.0     1               MHR     N       Y       Y       ^M      aher

如何在不影响制表符位置的情况下删除此字符?换句话说,最后一个 Y 和“aher”单词之间应该有 2 个制表符。

答案1

你可以用命令模式vi替换所有^M字符

:%s/Ctrl+ VCtrl+M//g

这将删除所有这些^M

或者

您还可以这样做sed

sed -i 's/Ctrl+ VCtrl+M//g' filename

答案2

翻译已显示出它的力量!

tr -d "\r" 

相关内容