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系统差异统一