linux和windows换行符的^M问题】的更多相关文章

起源 在windows中写的脚本执行完全没问题,代码一模一样,切换到linux中执行报错.利用命令 “vi/vim -b 文件名”查看文件发现每行结尾多了“^M”这样的结尾. 根源 通过查询得知,其问题根源是windows和linux换行符不同造成,二者区别如下表(外加了mac book)   windows linux MacBook 换行符 \r\n \n \r ASCII 0x0d0a 0x0a 0x0d 其中: "\r"在ASCII中表示“换行(LF)” "\n&qu…
不同系统文本文件的行尾换行符不同:    Windows为一个回车'\r'(CR或^M)和一个换行'\n'(NL或LF)(括号内是其它显示方法)    Linux为一个换行'\n'    Mac为一个回车'\r'查看文件是否含有Windows换行符:    Windows:Notepad++ ==>视图 ==>显示所有符号    Linux:file test.txt    test.txt: ASCII text, with CRLF line terminators    Vim:命令模式…
一.简述 平时我们把Windows编写好的sh文件放在linux上跑时,经常出现换行符的问题.快速切换的解决方法如下: 二.解决 vim test.sh :set ff? 如果出现fileforma=dos 表示是Windows上的换行符. :set fileformat=unix :wq! 好了.…
windows 默认换行符为 \r\n; unix默认换行符为 \n; 所以当win下编辑的脚本在linux下显示末尾多了^M: 换行符修改为同一的unix格式脚本如下: def run(path,file): for file in files: file = path+'\\'+file f = open(file,'r') result = f.read() print result result = result.replace(r'\r\n',r'\n') f.close() # 需要…
由于各操作系统对换行符的处理不同, Unix: \n Windows : \r\n Mac : \r 所以有时 Vim 打开的文件会有如下情况: 解决方法为:在 Vim 中执行命令 :%s/\r//gc 完.…
MAC 和 Windows的换行符不一样,导致有些情况下,MAC编辑的多行文本,在windows的TXT中只是一行. 使用nodepad++可以正确识别出换行符,而且可以将其转为Windows格式,使得在txt打开时也能显示正常. 编辑 -> 文档格式转换 -> 转为Windows格式…
sed -i 's/\r//' filename window下默认是 \r\n linux下是\n unix下是\r…
1.用vi打开指定文本文件:vi filename.c 2.按 Esc 键,进入命令模式: 3.按 : 键 (按 Shift 键不放后,同时按 : 键)进入命令输入状态: 4.在冒号后输入:%s/^M//g 注:^M是一个字符不是输入^和M两个字符, 即按住 Ctrl 键不放,同时按 V 键产生^,依然按住 Ctrl 键不放,同时按 M 产生M. 5.按 Enter 键,执行替换命令 6.按 : 键 (按 Shift 键不放后,按 : 键)进入命令输入状态: 7.在冒号后输入:wq  <-- 保…
一般,在windows下写的shell脚本,都会去linux执行,都会有^M 符号,那么怎么去除呢? 第一种方法:cat -A filename 就可以看到windows下的断元字符 ^M要去除他,最简单用下面的命令:dos2unix filename第二种方法:sed -i 's/^M//g' filename#注意:^M的输入方式是 Ctrl + v ,然后Ctrl + M 第三种方法: #vi filename:1,$ s/^M//g^M 输入方法: ctrl+V ,ctrl+M 第四种方…
Linux doc WINDOWS下记事本编写的文档和LINUX下VIM或者GEDIT等编写的文档的不同! 例如WINDOWS下编写的SH脚本,放到LINUX下执行可能会出错. 解决方法: 原因是:Windows下换行符号是“\r\n”,而linux下是“\n”没有”\r”,当shell文件是在Windows下编写的时候,所有的换行符都是“\r\n”,shell下是没办法执行这个文件的,会提示以上错误.请在ultraedit下将该文件执行“File->conversions->Dos to U…