免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: lyp8899
打印 上一主题 下一主题

如何去掉文本中的"^M". [复制链接]

论坛徽章:
0
11 [报告]
发表于 2005-01-14 21:24 |只看该作者

如何去掉文本中的"^M".

原帖由 "lyp8899" 发表:
我的一个文本中有500多行
我用vi 编辑该文本文件, 用
:1,$ s/^M//g

可将每行的^M去掉,

但我在shell中用

vi myfile.txt  <<END
:1,$ s/^M//g
:wq
END

执行后没有去掉^M
不知什么原因, 请各位..........

把vi变成ex就可以了,vi是针对全屏幕的,在shell script中运行没有terminal信息,运行失败。

论坛徽章:
0
12 [报告]
发表于 2005-01-17 11:35 |只看该作者

如何去掉文本中的"^M".

here文档中是不支持vi所认的特殊字符的,你无论怎么输入,"^M"都会被vi认成确实的"^M"——即两个字符,因此vi自然找不到这两个字符,替换操作也就没有进行
想用脚本实现的话,vi我不会,vim可以这样

vim file <<!
:set fileformat=unix
:wq
!

它表示把各种系统下的文本格式转化成unix格式,你的"^M"是dos中文本的字符,会被全部删除

论坛徽章:
0
13 [报告]
发表于 2005-01-17 20:46 |只看该作者

如何去掉文本中的"^M".

原帖由 "一梦如是" 发表:
here文档中是不支持vi所认的特殊字符的,你无论怎么输入,"^M"都会被vi认成确实的"^M"——即两个字符,因此vi自然找不到这两个字符,替换操作也就没有进行


在vi中不要输入^和M两个字符,而是用Ctrl-V加Ctrl-M输入^M(ASCII码0dh)一个字符。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP