首页 > 技术文章 > 记录一次win上文件放到linux上遍历,echo变量时出现乱码问题解决 vim 时^M怎么去除

-abm 2021-09-10 09:57 原文

问题案例

 

 遍历的每行字符串作为$line变量和其它内容合并后打印,发现数据显示有问题

处理:

猜测是test.txt文件编码或格式有问题,通过vim -b查看:

发现行末有“^M”

 

 出现这种问题的原因可以看这里:vim下unix和dos格式转换 - 简书 (jianshu.com)

解决方式:

1、安装命令dos2unix

#dos2unix filename1 filename2 filename3        //转换多个文件

2、vim下set转换方式

 

 set ff=unix

 

处理完成:

 

 

若果^M还在,则命令模式下替换

:%s/\r//g

推荐阅读