win-->linux 文本转换

Windows编辑的文件无法在linux中执行

原因:这个问题,和操作系统换行符相关。Dos、Windows格式的文件,用0D 0A(CR+LF)作为换行符,而Linux/Unix的则是以0A(LF)作为换行符,因此以Dos底下的文本文件到了Linux,换行符就会多出来一个0D(CR),他会显示为"^M"。

在Linux中vim是无法显示\r,因为ascii中对应的不是Linux中的标准acsii字符,其实其对应的ASCII码十进制形式是13(无显示形式),对应的八进制形式是15(显示为^M)。

解决办法

1.Windows用文本工具进行转换win-->linux,notepad++、UltraEdit
2. Linux下,可以用

  • dos2unix
  • cat file | tr -d "\r" > new_file
  • sed 's/^M//old_file > new_file
posted on 2020-05-15 19:38  InnoLeo  阅读(189)  评论(0编辑  收藏  举报