0%

Linux换行符和Windows换行符的区别与转换

Linux换行符和Windows换行符的区别与转换

不同系统文本文件的行尾换行符不同,可能会导致在不同的系统打开有问题。

主要原因如下:

  • Windows为一个回车’r’(CR或^M)和一个换行’n’(NL或LF)(括号内是其它显示方法)
  • Linux为一个换行’n’
  • Mac为一个回车’r’

如何查看文件是否含有Windows换行符:

  • Windows:Notepad++ ==>视图 ==>显示所有符号
  • Linux:file test.txt
    • test.txt: ASCII text, with CRLF line terminators
    • Vim:命令模式下输入:e ++ff=unix,^M就是Windows换行符

如何转换:

  • Windows下Notepad++ ==>编辑 ==> 文档格式转换 ==> 转为Unix

  • Linux:

    • sed -i ‘s/\r//‘ filename
    • dos2unix filename
  • Linux批量转换:find -type f | xargs dos2unix -o

  • Vim:命令模式下输入:%s/^M//g或者:g/^M/s/^M//

  • Vim:命令模式输入:set ff?如果出现fileforma=dos 表示是Windows上的换行符。继续输入:set fileformat=unix 保存即可/

处无为之事,行不言之教;作而弗始,生而弗有,为而弗恃,功成不居!

欢迎关注我的其它发布渠道