CRLF 文件从Window转到Unix中换行符的转换问题解决
1.背景知识
CRLF用来表示文本换行的方式 ,CR是回车的意思,对应 \r
;LF 是换行的意思,对应 \n
-
Windows 换行符是
\r\n
-
Unix 换行是
\n
如果一个将要在Linux服务器上使用的文件,比如某个配置文件,在windows电脑打开,编辑过,那么文件每一行末尾会多有\r
。直接在Linux中使用可能会报错。
2.检验方法
用 sed -n l
查看会发现文件末尾是否多了有 ^M
。
3.解决方法
3.1 ubuntu安装 tofrodos
tofrodos可以对两种格式的文件的换行符进行互转
sudo apt-get install tofrodos todos file1 # unix2dos fromdos file2 # dos2unix # 或者 sed 's/^M//' file
3.2 linxu安装dos2unix
yum install dos2unix -y doc2unix file
3.3 vim设置编码格式/全局替换
直接vim打开,使用 :set ff
或者替换\r 为空 利用vim将 ^M 替换 此处 ^M 使用 Ctril + V + M 来输入
:%s/^M//g # 不行就用 :%s/\r//
3.4 sed替换
sed -i 's/^M//' file
如果以上方法有用,希望能得到您的一键三联
本文作者:又一个蛇佬腔
本文链接:https://www.cnblogs.com/it-bt/p/17073579.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
2021-01-30 Servelt&&JSP进阶