【发布时间】:2014-01-20 08:07:39
【问题描述】:
我正在尝试从项目 git 存储库中删除所有 CLRF 字符。我正在编写一个命令以递归方式通过 repo grep 以查找实例。但是,在 vim 中打开时,一些“命中”非常明确地显示存在 ^M,而其他一些则不显示这些字符。
但是,在运行时
file <filename without visual ^M>
它说
blah.java ASCII Java program text, with CRLF line terminators
和
od -cx <filename without visual ^M>
返回时带有 \r\n 贯穿始终。
我只是对为什么 vim 有时会显示它们而有时不感兴趣。
编辑:
我创建了一个测试文本文件并手动添加了 ^M(即 ctrl V + ctrl M)并且 vim 显示了这些字符。然后我跑了:
sed -i '' -e 's/\r//g' controlm.txt
然后用vim打开文件,视觉上的^M不见了,但是od -cx还是显示\r\n,但是我又跑了
sed -i '' -e 's/^M//g' controlm.txt
然后它不仅删除了 vim 中的视觉 ^M,而且我已经确认 od -cx 显示 \r \n 现在只是 \n。
【问题讨论】: