LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 964|回复: 6

[问] DOS 折行的正则表达式如何表示?

[复制链接]
发表于 2004-8-5 16:36:53 | 显示全部楼层 |阅读模式
在 Linux VIM 中显示如引号中"^M",如何删除掉呢?
发表于 2004-8-5 16:42:24 | 显示全部楼层
在vim中,
:%s/^M// #^M用ctrl+V+M得到
ps:请善用论坛搜索
发表于 2004-8-5 18:36:30 | 显示全部楼层
ctrl+V+回车也可以
刚学的,呵呵
发表于 2004-8-6 08:58:01 | 显示全部楼层
试试命令dos2unix
 楼主| 发表于 2004-8-6 16:05:24 | 显示全部楼层
多谢各位热心帮忙。RE解决了:-)
发表于 2004-8-7 11:39:33 | 显示全部楼层
dos用\r\n表示换行,unix使用\n表示换行,可以用sed的s功能过滤调多余的\r:
sed s/'\('.*'\)''\r'/'\1'/ a.cpp > a.cpp
表示匹配\r\n结束的行,替换成第一个括号对括起来的内容,也就是不含\r的内容,再加上sed在行末添加的\n,正好是我们需要的。
发表于 2004-8-7 11:52:13 | 显示全部楼层
sed **** a.cpp > a.cpp
这样的过滤格式有时会出错
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表