在linux/unix下如何去掉windows下的换行符

海豚飞 2011-06-10

windows编写的文本文件,在linux下发现每行的后面都多了字符“^M”.

导致有的脚本无法直接执行,如perl脚本,可能就必须要用perl**.pl的形式来执行脚本了,

即使你在第一行指定了

#!/usr/bin/perl

也不好使。

原因就是这个换行格式造成。

简单的解决办法是:

输入命令:sed's/^M//'filename.pl>newfilename.pl

注意:这个^M不是按shift+6再加字母M产生的,而是要直接拷贝过来,或者按ctrl+v再回车产生,或者ctrl+v再ctrl+m产生的。是一个单独的字符。

然后再mvnewfilename.plfilename.pl回来

这样就去掉了所有不兼容字符。

此时直接输入./filename.pl就可以运行了

****************************

不做如上处理的话,报的错一般是:

:badinterpreter:Nosuchfileordirectory

还有另一种省事的做法:

用ultraEdit/plusEdit之类的编辑器打开该文件,选择文件-->另存为,在对话框中选择

换行符:Unix终束符-LF

点击确定后,再上传到unix系统就好了。

转载自:http://www.scmbbs.com/cn/systp/2007/11/systp5.php

相关推荐