windows与linux换行符

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

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

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

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

原文地址:https://www.cnblogs.com/moss-yang/p/6853169.html