日期:2014-05-16  浏览次数:20669 次

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

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产生的。是一个单独的字符。

然后再mv newfilename.pl filename.pl回来

这样就去掉了所有不兼容字符。
此时直接输入 ./filename.pl 就可以运行了


****************************
不做如上处理的话,报的错一般是:
: bad interpreter: No such file or directory
还有另一种省事的做法:
用ultraEdit/plusEdit之类的编辑器打开该文件,选择文件-->另存为,在对话框中选择
换行符:Unix 终束符 -LF
点击确定后,再上传到unix系统就好了。


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

?