在linux中⽂件⾥⾏尾奇怪的^M及解决
Linux编辑器vim中删除⾏尾的^M
有时候,在 Linux 中使⽤打开曾在 Windows 中编辑过的⽂件时,会在⾏尾看到 ^M 字符。看起来总是感觉很别扭。
删除⽅法如下:
在 Vim 的命令模式中输⼊ :%s/^M$//g 后,回车即会⾃动删除该⽂件中的所有 ^M 字符。
注意: ^M 要⽤ Ctrl + v, Ctrl + m 来输⼊, ⽤键盘直接敲^和M是不⾏的! 后⾯的 $ 代表匹配⾏尾的内容,最后的 g 则表⽰每⾏中匹配到的内容都要置换--全局替换,否则只替换每⾏中匹配到的第⼀个。
⼜脚本删除⽅法:
cat file | col -b > file.1 // 这个可以去掉,但是⽣成⽂件⾥汉字变乱码
sed -e 's/.$//g' file // 正确
linux系统vim编辑器 sed ‘s/^M//' file // 正确,但是 ^M = Ctrl + v, Ctrl + m
附录:^M 另⼀个会出现的情况是⽂件在 windows 和 Linux 系统间通过 Ftp 传送。这是建议⽅法是:强⾏设定 ftp ⽅式为 ascii ⽅式就可以了啊! 当然也可以通过软件 dos2unix 搞定。// 我没尝试过哈。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论