紧急求助,如何去除文件中的^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 please use sed or awk. they are prefect!
用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
页:
[1]