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

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

在redhat中,如何通过命令去除文件行末尾的^M控制字符?
我不想用vi来做。
我上次在论坛中看到可以用命令行来完成的。
请告知。
谢谢。
用shell可以,不过我也得自己试一下,能不能把你的这文件发上来,好试验!:)
写一个程序 以二进制打开文件 读到0x0d跳过 读完写回 即可
我查到了,是通过dos2unix命令来实现的。
# dos2unix filename

在我的redhat9上执行这个命令没问题。
但在我的redhat7.1上,说没有这个命令。
我现在就是不知道这个命令是属于哪个rpm安装包的。
我找到了,就是属于dos2unix这个rpm包
please use sed or awk. they are prefect!
dos2unix filename filename
[quote:fa88085680="albtross"]please use sed or awk. they are prefect![/quote]
用sed,awk就是太麻烦了!
刚找到的:

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
不错,收藏!http://www.ourlinux.net/wz/Article_show.php?id=618