windows与linux换行符

Posted erererer

tags:

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

我一次linux上写的脚本,利用vim进行脚本编写,然后下载下来在nodepad++上面打开,在nodepad上面新建了一个文件将原来文件内容复制过去,保存后下载复制文件在linux上面进行运行,发现运行不通过,凡是在空格行都会显示命令不存在,最后发现是nodepad++上面文件的换行是\r\n,将\r字符替换为空字符就可以运行了,后来上网查找才知道,一般文本文件的换行都是\r\n。

在linux vi下可以设置文件的换行符:

可以用filetype设定,如dos(\r\n)、unix(\n)等
:set filetype默认是\n,但如果打开的文件全用\r\n,也能识别。

 

^M 其实就是 \r ,也就是说这个文件所使用的回车是 mac 中的。也就是 apple公司生产的操作系统内默认的换行符。
在 windows中默认是 \r\n
在 unix/linux 中默认是 \n
只需要在vi/vim 中输入命令:%s/\r//g或者:%s/[ctrl-v][ctrl-m]//g ====== :%s/^M//g
效果是一样的,注意这里的 ctrl-v 和 ctrl-m 是你的按键,不是直接打字母上去,所以显示出来的是:%s/^M//g






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

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

git在window与linux的换行符问题

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

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

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

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