QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1885|回复: 9

紧急求助,如何去除文件中的^M控制字符

[复制链接]
发表于 2003-5-9 10:20:44 | 显示全部楼层 |阅读模式
在redhat中,如何通过命令去除文件行末尾的^M控制字符?
我不想用vi来做。
我上次在论坛中看到可以用命令行来完成的。
请告知。
谢谢。
发表于 2003-5-9 10:32:10 | 显示全部楼层
用shell可以,不过我也得自己试一下,能不能把你的这文件发上来,好试验!:)
回复

使用道具 举报

发表于 2003-5-9 16:53:43 | 显示全部楼层
写一个程序 以二进制打开文件 读到0x0d跳过 读完写回 即可
回复

使用道具 举报

 楼主| 发表于 2003-5-9 17:35:28 | 显示全部楼层
我查到了,是通过dos2unix命令来实现的。
# dos2unix filename

在我的redhat9上执行这个命令没问题。
但在我的redhat7.1上,说没有这个命令。
我现在就是不知道这个命令是属于哪个rpm安装包的。
回复

使用道具 举报

 楼主| 发表于 2003-5-9 17:50:20 | 显示全部楼层
我找到了,就是属于dos2unix这个rpm包
回复

使用道具 举报

发表于 2003-5-11 22:39:59 | 显示全部楼层
please use sed or awk. they are prefect!
回复

使用道具 举报

发表于 2003-5-12 13:16:36 | 显示全部楼层
dos2unix filename filename
回复

使用道具 举报

发表于 2003-5-12 13:34:15 | 显示全部楼层
[quote:fa88085680="albtross"]please use sed or awk. they are prefect![/quote]
用sed,awk就是太麻烦了!
回复

使用道具 举报

发表于 2003-7-31 12:42:29 | 显示全部楼层
刚找到的:

dos文件转换为unix文件(去掉dos文件的^M)



作者:q_ping


一、SCO OpenServer中,
如果要将dos文件转换为unix 文件(去掉dos 文件的^M):
在shell 下用 dtox filename1 > filename2 (dos文件filename1转换为unix文件filename2)
将unix文件转换为dos文件:
xtod filename1 > filename2 (unix文件filename1转换为dos文件filename2,可带^M)

二、如果你的dos文件拷贝到unix系统下每行用^M结尾,如下两种办法可以清除它

用vi编辑该文件,输入vi命令:
∶%s/^V^M//g

如果在unix shell下,则输入命令:
% sed 's/^V^M//g' foo > foo.new

注意: ^V 是 control + V , ^M 是 control + M 或 Enter
回复

使用道具 举报

发表于 2003-7-31 14:48:26 | 显示全部楼层
不错,收藏!http://www.ourlinux.net/wz/Article_show.php?id=618
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-10 16:40 , Processed in 0.041368 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

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