Linux 与 windows 换行符问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 与 windows 换行符问题相关的知识,希望对你有一定的参考价值。

参考技术A (在本文中 line separator == 行分隔符 == 换行符)
我们来看一下ASCII码中对两个控制字符的定义( ASCII码对照表 )

以下是操作系统之间的差异

本人因为在实习时使用windows操作系统和ubuntu虚拟机,因为会遇到一些换行符的问题,如下

sed命令 windows与linux换行

Linux的Bash命令中有一个sed操作,SSD的create_list.sh中有用到这个操作:

结合着下面这个解释:

也就是删除所有行里面的以VOC2007/Annotations/(这里的\\代表转义)的字符;

之所以会注意到这个问题,是因为我之前做的时候,将windows下的文件直接拷贝到了Linux系统中,结果在运行create_list.sh的时候就报错了,后来发现是因为windows下与Linux下的换行符不一样导致的。

 

windows下的换行符为\\r\\n,而linux下的为\\n,因此相应的,脚本要做以下的修改才可以:

也就是说,原来直接在最后追加.jpg或者.xml的情况,现在需要将\\r替换成为.xml才对。

 

 另外还有如下的解决办法:

 

以上是关于Linux 与 windows 换行符问题的主要内容,如果未能解决你的问题,请参考以下文章

git在window与linux的换行符问题

git转换换行符LF与CRLF转换问题-Windows系统和Linux系统差异统一

windows与linux换行符

Windows与Linux行尾换行符引发Git的一系列惨案

Git中的AutoCRLF与SafeCRLF换行符问题

Windows与Linux行尾换行符引发Git的一系列惨案