Answers:
Windows和Linux具有不同的行尾符号。
您可以安装dos2unix
修复它的实用程序:
sudo apt-get install dos2unix
这样运行:
dos2unix -n winfile.txt linuxfile.txt
也有unix2dos
实用程序。
Windows到Linux的转换也可以通过以下方式完成,而无需安装任何特殊软件:
tr -d '\r' < winfile.txt > linuxfile.txt
注意: 输入和输出文件必须不同。
一个sed的版本将编辑“到位”的文件:
sed -i 's/\r//g' file.txt
或写入另一个文件:
sed 's/\r//g' winfile.txt > linuxfile.txt
dos2unix winfile.txt linuxfile.txt
尝试转换两个文件。使用此命令dos2unix -n winfile.txt linuxfile.txt
在Windows上,您需要将Notepad ++中的行尾(EOL)格式更改为UNIX:
这样,它也可以在Ubuntu上运行。
Windows使用CR + LF进行换行。在Linux / Unix中,您需要LF。因此,您必须在脚本中将CR + LF替换为LF:
安装 dos2unix
sudo apt-get install dos2unix
并通过纠正您的脚本
dos2unix <your_script_file>
或通过
dos2unix -n <your_script_file> <out_file>
如果您需要其他输出文件
更多信息在这里
从 man dos2unix
NAME
dos2unix - DOS/Mac to Unix and vice versa text file format converter
SYNOPSIS
dos2unix [options] [FILE ...] [-n INFILE OUTFILE ...]
unix2dos [options] [FILE ...] [-n INFILE OUTFILE ...]