免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3350 | 回复: 12
打印 上一主题 下一主题

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

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-01-14 13:48 |只看该作者 |倒序浏览
我的一个文本中有500多行
我用vi 编辑该文本文件, 用
:1,$ s/^M//g

可将每行的^M去掉,

但我在shell中用

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

执行后没有去掉^M
不知什么原因, 请各位帮忙, 另外我不想用dtox做, 有没有办法啊?

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2005-01-14 13:52 |只看该作者

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

dos2unix myfile.txt 如何?
若沒這命令可用, 那試:
cp myfile.txt myfile.dos
cat myfile.dos | col -b > myfile.txt

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

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

cat myfile.dos | col -b > myfile.txt


你的命令不成,  每个汉字都变成了两个字母, 再给想想其它办法吧

论坛徽章:
0
4 [报告]
发表于 2005-01-14 15:57 |只看该作者

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

我是先按ctrl+再按vm出来的^M
和先按ctrl+v然后再按ctrl+m出来的^M难道不一样吗?!

论坛徽章:
0
5 [报告]
发表于 2005-01-14 16:09 |只看该作者

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

试试这个办法

cat myfile.txt|sed -e "s/^M//g">myfile2.txt

论坛徽章:
7
荣誉版主
日期:2011-11-23 16:44:17子鼠
日期:2014-07-24 15:38:07狮子座
日期:2014-07-24 11:00:54巨蟹座
日期:2014-07-21 19:03:10双子座
日期:2014-05-22 12:00:09卯兔
日期:2014-05-08 19:43:17卯兔
日期:2014-08-22 13:39:09
6 [报告]
发表于 2005-01-14 16:22 |只看该作者

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

如果确保每行都有^M,可以闭着眼睛用这个办法^_^
  1. sed 's/.$//' file
复制代码

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-01-24 06:20:00
7 [报告]
发表于 2005-01-14 17:11 |只看该作者

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

既然在vi中可以用:1,$ s/^M//g替换掉,那就意味着楼主的^M输入应该没有问题,但为什么用本地文档就不可以替换了?    

抱歉,楼下的,偶插队了  

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

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

真搞不懂,为什么能用DTOX马上就可以解决问题的,为什么要用VI呢?越弄越复杂。要不就用楼上那位兄弟的,最省事,也不用去管什么^M是怎么输入的。

论坛徽章:
0
9 [报告]
发表于 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
10 [报告]
发表于 2005-01-17 11:35 |只看该作者

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

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

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

它表示把各种系统下的文本格式转化成unix格式,你的"^M"是dos中文本的字符,会被全部删除
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP