背景: 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问题相关推荐

  1. linux系统下回车换行符

    简述 回车换行符在文本文件的读写中经常用到,windows下面稍微复杂点,linux系统下更为简单. 详述 回车和换行是两个不同的概念. 回车,就是告诉计算机把头定位在左边界:换行,就是把头向下移动一 ...

  2. linux下与windows下的换行符

    来源:http://blog.csdn.net/wjcquking/article/details/6634504 回车符号和换行符号产生背景 关于"回车"(carriage re ...

  3. txt在linux下换行符,Linux下的换行符\n\r以及txt和word文档的使用

    Linux doc   by: zollty WINDOWS下记事本编写的文档和LINUX下VIM或者GEDIT等编写的文档的不同! 例如WINDOWS下编写的SH脚本,放到LINUX下执行可能会出错 ...

  4. vi下显示回车换行符等特殊符号

    换行方式 在早期的打印机时代,开始新的一行要占用两个字符的时间.如果到了一行的结尾处,你要快速回到新的一行的开头,需要打印针头在纸面上飞快地掠过,常常会在纸面上留下污点. 解决这个问题的办法就是,用两 ...

  5. Linux和windows中的换行符差异问题 LINUX的换行符在Windows记事本打开不换行或出现黑点

    http://hi.baidu.com/mayongl7/blog/item/06e61af7c719053a730eec4d.html LINUX的换行符在Windows记事本打开不换行或出现黑点 ...

  6. java回车换行符linux,回车换行符 java

    回车换行符 java [2021-01-31 11:28:50]  简介: java中的换行符是[\n]和[\r].二者的区别是:[\r]表示回车,[\n]表示新行,但两者都可以实现换行.具体实现方法 ...

  7. 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 ...

  8. 在windows系统写脚本,如何去掉回车换行符

    在windows系统写脚本,如何去掉回车换行符 在windows系统中写bash脚本,然后再拿到linux系统中运行,通常会遇到这样的问题: 无缘无故多出 "\r",这是windo ...

  9. 解决不同操作系统下git换行符一致性问题

    解决不同操作系统下git换行符一致性问题 参考文章: (1)解决不同操作系统下git换行符一致性问题 (2)https://www.cnblogs.com/warking/p/5718648.html ...

最新文章

  1. 杭州新设大数据资源管理局 推动资源共享、市场规范
  2. 汇编语言 字母的大小写转换
  3. 关于新版SDK报错You need to use a Theme.AppCompat theme的两种解决办法 - 转
  4. 模型 标签数据 神经网络_大型神经网络和小数据的模型选择
  5. 使用git同时连接gitlab和GitHub
  6. 在ASP.NET应用启动的时候初始化的几种方法
  7. Web Worker API
  8. Office - Excel 2013
  9. Python3-word文档操作(六):word文档中表格的操作-单元格文字居中,字体颜色等的设置
  10. psnr--峰值信噪比
  11. 腾讯加入QQ群 连接代码
  12. ora 01033 linux,ORA-01033: ORACLE initialization or shutdown in progres
  13. fsadfsaddfsadfsafsda
  14. 三十一、利用微信搜索抓取公众号文章
  15. 串口调试助手使用说明
  16. 2022考研资料每日更新(2021.05.09)
  17. SQL笔试:Student学生表,Course 课程表,Sc选课表
  18. css 矩形切角,特殊border的样式 -- CSS3实现三种切角效果
  19. 永不停歇(obama在亚利桑那州治大学毕业典礼上的演讲)
  20. UE4 蓝图常用节点汇总及意译(一)

热门文章

  1. 如何采集微信公众号历史数据
  2. 如何用css3制作一个旋转的立方体
  3. 12月世界燕窝滋补品展|上海燕博会|冻干燕窝展联合滋补生态大会,共赴新未来
  4. 数据结构上机——希尔排序(含监视哨版本)
  5. 软件测试面试题及答案,不给答案的面试题都是耍流氓
  6. 云呐|仓库RFID固定资产盘点软件有哪些优势
  7. 什么是vue全家桶?
  8. 注册oracle驱动,oracle驱动安装odbc
  9. [NOI2005] 月下柠檬树 (自适应辛普森积分)
  10. Java+JSP+MySQL基于SSM的医院挂号就诊系统