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
分享到:
相关推荐
这个过程主要是处理文件中的换行符差异,因为Windows使用的是CRLF(回车+换行)作为行结束符,而Linux/Unix系统只使用LF(换行)。 描述中提到的“换行问题”是指在跨平台操作时,由于不同操作系统对文本文件中行...
这个命令的工作原理是使用 sed 命令来在每一行末尾插入一个回车符,从而将 Linux/Unix 格式的文件转换成 DOS/Windows 格式。 文件格式转换是一个非常重要的问题。在不同的操作系统之间,我们需要使用适当的方法来...
5. **DOS2UNIX工具**:转换文本文件的换行符格式,以适应不同系统间的文件交换。 压缩包内的“Assignment”文件可能是具体的编程作业、代码示例、实验报告或课件,包含了上述知识点的具体应用和实践。通过对这些...
解决办法之一是使用特定的命令或工具,如在Linux下使用`tr`命令删除或替换不需要的换行符,例如`cat a.txt | tr -d '\r' > b.txt`可以去除文件a.txt中的Windows风格换行符,并将结果写入b.txt。 了解这些差异对于...
-n(Linux/Unix特有):禁止在输出末尾添加换行符。 三、常见用法 输出字符串: 在Linux/Unix系统中,使用echo "Hello, World!"可以在终端上输出“Hello, World!”。 在Windows系统中,同样可以使用echo Hello, ...
在Linux或类Unix系统中,每行文本结束时使用的是单一的换行符(\n)。相反,Windows系统使用的是回车换行符组合(\r\n)来标记行的结束。这就导致了当一个在Linux环境下创建的文本文件在Windows中打开时,可能会出现...
- 对于不同平台的文本处理,需要注意不同的换行符(Windows使用`\r\n`,Unix/Linux使用`\n`)。 通过以上知识点的详细解析,我们可以了解到Java中去除字符串中的空格、回车、换行符、制表符的具体实现方式及其应用...
在编程语言中,换行符是用于表示一行文本结束并开始新行的一种特殊字符或字符序列。不同的编程环境和平台可能会使用不同的换行符。本文将详细介绍Java、JavaScript、Oracle、MySQL以及VBScript中使用的换行符。 ###...
例如,当在Windows环境下打开一个纯UNIX格式的文本文件时,由于文件中只有换行符(LF),没有回车符(CR),因此Windows系统默认的记事本程序无法识别正确的换行位置,导致所有文本内容被显示在一行内,造成阅读困难...
标题"linux下dos转unix"指的是将DOS格式的文件转换为Unix格式,确保在Linux系统中正确运行,避免因行结束符不匹配导致的脚本执行错误。标签“dos转unix”进一步强调了这一操作的重要性。 转换工具有多种,其中最...
1. **文本格式转换**:dos2unix 主要用于将文本文件中的DOS/Windows风格的换行符(CRLF)转换为Unix/Linux风格的换行符(LF)。这样,文件在Unix/Linux系统中可以正常显示和处理,避免出现乱码或无法正确读取的问题...
对于已有的ZIP文件,你可以在Linux下先用`file`命令检查其格式,然后根据情况使用`dos2unix`或`fromdos`等工具转换文件中的换行符,然后再尝试解压。 总的来说,跨平台的文件操作需要注意文件编码和格式的兼容性。...
Unix和Windows系统在处理文本文件时有不同的行结束符:Unix使用换行符(LF),而DOS/Windows系统则使用回车+换行符(CR+LF)作为一行的结束。因此,当一个Unix格式的文本文件在Windows环境下打开时,可能会显示为每...
这两种系统对文本文件的行结束符处理方式不同,Windows使用CRLF(回车换行)作为行结束符,而UNIX/Linux则只使用LF(换行)作为行结束符。这在跨平台操作时可能会引发问题,如代码编辑器显示异常或脚本执行错误。...
在Windows系统中,文本文件的换行通常使用CRLF(Carriage Return, Line Feed,即回车加换行)组合,而在Unix和Linux系统中,只使用LF(Line Feed,换行)作为换行符。这两种不同类型的换行符在跨平台交互时可能导致...
【描述】dos2unix的主要功能是将Windows环境下创建的文本文件(使用DOS/Windows风格的换行符CR+LF)转换为Linux/Unix风格的文本文件(仅使用LF作为换行符)。这个转换过程对于在跨平台环境中处理文本文件或源代码至...
4. **unix2mac**:它将 UNIX/Linux 格式的文本文件转换为新版 Mac (macOS) 格式,即使用 LF 换行符的文件转换为使用 CR 换行符的文件,适用于需要在 macOS 环境中处理原本为 UNIX/Linux 系统创建的文本文件的情况。...
这个工具处理的主要问题是换行符的不同:DOS/Windows使用CRLF(回车+换行)作为行结束符,而Unix/Linux仅使用LF(换行)作为行结束符。在跨平台操作时,如代码编辑或脚本执行,这种差异可能导致问题。 在描述中,...
由于这两种操作系统对文本文件的行结束符处理方式不同,Unix/Linux系统使用换行符(\n)作为行结束符,而DOS/Windows系统则使用回车+换行(\r\n)作为行结束符,因此在跨平台操作时,如果不进行转换,可能会导致文件显示...