windows下回车换行符在Linux下显示^M问题
背景: win下的PHP文件打包,在Linux下解压后,在git status 时,显示发生修改,但并没有修改,查看文件会发现这种字符^M其实就是因为换行符的原因 ,Windows换行符和Linux换行符问题导致
方法一:(未生效)
去掉windows下的回车符 (注意^M 在linux 下写法 按^M 是回车换行符,输入方法是按住CTRL+v,松开v,按m)
sed -i ’s/^M//g’ df.txt
去掉windows下的回车符 (注意^M 在linux 下写法 按^M 是回车换行符,输入方法是按住CTRL+v,松开v,按m)
sed -e ’s/^M//g’ df.txt >cwm.txt
或者用
sed -e ’s/^M$//g’ df.txt >cwm.txt $代表行尾
方法二:(可行,Git diff 不显示文件修改,但git status 还是显示文件修改过,懵逼了,所以暂时放弃了,重新Git clone 拉去新的,把旧文件再拷贝进去,如果你有好的方法欢迎留言)
Linux和Windows和换行符不一样。Windows下是CRLF(\r\n或0d0a),Linux下是LF(\n或0a)。在Linux下有时会遇到从Windows过来的文本文件,这些文件带了Windows换行符,Linux下进行脚本处理时有可能会出一些莫名其妙的错误。因此需要将这些文件转换为Linux换行符。
之前都是用dos2unix命令转换,但是很多系统没装这个命令。百度一下,也有人用一个叫tofrodos的命令,但是我的系统上也没装这个命令。
但是,为一个小小的换行符转换何至于劳师动众安装什么软件。况且我的服务器与外网隔绝,安装软件不是一个简单的yum就可搞定的。
所以,我采用了Linux自带的sed命令完成相同的任务。
单个的文件装换
sed -i 's/\r//' filename
批量的文件装换
sed -i 's/\r//' filename1 filename2 ...
或
find conf/ -name "*.*" |xargs sed -i 's/\r//'
转换举例:
[root@zabbix ~]## echo -e 'a\n\r\b'>file1
[root@zabbix ~]## file file1
file1: ASCII text, with CR, LF line terminators, with overstriking
[root@zabbix ~]## sed -i 's/\r//' filename
[root@zabbix ~]## file file1
file1: ASCII text, with overstriking
windows下回车换行符在Linux下显示^M问题相关推荐
- linux系统下回车换行符
简述 回车换行符在文本文件的读写中经常用到,windows下面稍微复杂点,linux系统下更为简单. 详述 回车和换行是两个不同的概念. 回车,就是告诉计算机把头定位在左边界:换行,就是把头向下移动一 ...
- linux下与windows下的换行符
来源:http://blog.csdn.net/wjcquking/article/details/6634504 回车符号和换行符号产生背景 关于"回车"(carriage re ...
- txt在linux下换行符,Linux下的换行符\n\r以及txt和word文档的使用
Linux doc by: zollty WINDOWS下记事本编写的文档和LINUX下VIM或者GEDIT等编写的文档的不同! 例如WINDOWS下编写的SH脚本,放到LINUX下执行可能会出错 ...
- vi下显示回车换行符等特殊符号
换行方式 在早期的打印机时代,开始新的一行要占用两个字符的时间.如果到了一行的结尾处,你要快速回到新的一行的开头,需要打印针头在纸面上飞快地掠过,常常会在纸面上留下污点. 解决这个问题的办法就是,用两 ...
- Linux和windows中的换行符差异问题 LINUX的换行符在Windows记事本打开不换行或出现黑点
http://hi.baidu.com/mayongl7/blog/item/06e61af7c719053a730eec4d.html LINUX的换行符在Windows记事本打开不换行或出现黑点 ...
- java回车换行符linux,回车换行符 java
回车换行符 java [2021-01-31 11:28:50] 简介: java中的换行符是[\n]和[\r].二者的区别是:[\r]表示回车,[\n]表示新行,但两者都可以实现换行.具体实现方法 ...
- linux换行符 r,\r \n 回车换行符详解
\r \n 回车换行符详解 \r \n 回车换行符详解 \r \n 回车换行符详解1. \r \n 回车换行的含义1.1 \r 回车 1.2 \n 换行 2. \r \n 回车换行的历史2.1 \r ...
- 在windows系统写脚本,如何去掉回车换行符
在windows系统写脚本,如何去掉回车换行符 在windows系统中写bash脚本,然后再拿到linux系统中运行,通常会遇到这样的问题: 无缘无故多出 "\r",这是windo ...
- 解决不同操作系统下git换行符一致性问题
解决不同操作系统下git换行符一致性问题 参考文章: (1)解决不同操作系统下git换行符一致性问题 (2)https://www.cnblogs.com/warking/p/5718648.html ...
最新文章
- 杭州新设大数据资源管理局 推动资源共享、市场规范
- 汇编语言 字母的大小写转换
- 关于新版SDK报错You need to use a Theme.AppCompat theme的两种解决办法 - 转
- 模型 标签数据 神经网络_大型神经网络和小数据的模型选择
- 使用git同时连接gitlab和GitHub
- 在ASP.NET应用启动的时候初始化的几种方法
- Web Worker API
- Office - Excel 2013
- Python3-word文档操作(六):word文档中表格的操作-单元格文字居中,字体颜色等的设置
- psnr--峰值信噪比
- 腾讯加入QQ群 连接代码
- ora 01033 linux,ORA-01033: ORACLE initialization or shutdown in progres
- fsadfsaddfsadfsafsda
- 三十一、利用微信搜索抓取公众号文章
- 串口调试助手使用说明
- 2022考研资料每日更新(2021.05.09)
- SQL笔试:Student学生表,Course 课程表,Sc选课表
- css 矩形切角,特殊border的样式 -- CSS3实现三种切角效果
- 永不停歇(obama在亚利桑那州治大学毕业典礼上的演讲)
- UE4 蓝图常用节点汇总及意译(一)