正确的换行符让Linux和Windows愉快的玩耍

  • 原创
  • Madman
  • /
  • /
  • 0
  • 10731 次阅读

Linux系统转换文本文件的换行符-min.png

Synopsis: 不同操作系统中的换行符标志不一样,在ASCII编码中以LF (NL line feed, new line)换行键和CR (carriage return)回车键来控制文本换行,即我们经常说的\n和\r。Windows下面保存的文本文件默认换行符是LFCR,而Linux是LF,所以Windows下面的文件放到Linux系统中无法被打开,本文介绍一些常用方法来查看当前文件使用的是哪种文本换行符,以及如何进行转换

1. 换行符

不同操作系统中的换行符标志不一样,在ASCII编码中以LF (NL line feed, new line)换行键CR (carriage return)回车键来控制文本换行,即我们经常说的\n\r

  • Unix和类Unix(如Linux): \n
  • Windows(MS-DOS): \r\n
  • Mac OS X: \n
  • Mac OS 9: \r

Windows文本在Linux中无法执行:

使用Windows系统中Sublime Text 3编辑器写的脚本传输到Linux中(不是复制内容),导致脚本无法运行

[root@CentOS ~]$ ./test.sh 
-bash: ./test.sh: /bin/bash^M: bad interpreter: No such file or directory

2. Linux查看文本换行符

2.1 cat命令

使用选项-A来显示换行符

[root@CentOS ~]$ cat -A test.sh 
#!/bin/bash^M$
# Author: Madman^M$
# Date: 2017/03/06^M$
# Email: wangy8961@163.com^M$
# Version: 1.0^M$
^M$
echo "Test shell file"^M$

2.2 vi/vim命令

使用选项-b以Binary mode打开文件,来显示换行符

[root@CentOS ~]$ vim -b test.sh 

#!/bin/bash^M
# Author: Madman^M
# Date: 2017/03/06^M
# Email: wangy8961@163.com^M
# Version: 1.0^M
^M
echo 
                                
                            
分类: Linux
标签: cat dos2unix LF LFCR tr vim sed
  • alexeykes
  • ivaninkes
  • 96323260
  • azatoxymn
  • huyuejingling
  • sermer
  • 38197295
  • kontakttelefonicznyr-https-apple-com-s
  • 52077502
  • hermanacich
  • irinajarly
  • luohuai1q84
  • devops
  • jiang-1406734809
  • yang6165969
  • 96768625
  • qiu-chen-100
  • feathbow
  • chrd2193
  • 7539131584
  • 93176860
  • 49259532
  • cy163
  • peterokes
未经允许不得转载: LIFE & SHARE - 王颜公子 » 正确的换行符让Linux和Windows愉快的玩耍

分享

作者

作者头像

Madman

如需 Linux / Python 相关问题付费解答,请按如下方式联系我

0 条评论

暂时还没有评论.

专题系列