通过sed替换windows文件中的\r\n回车换行
在工作中会经常遇到同事发来的大量数据需要导入数据库,或者做一些运算,我通常会将这些数据导入到Linux主机中,通过shell脚本去处理;此时问题就来了,从windows主机下产生的文本文件在每行的后面会有\r\n(回车/换行)不可见字符;这种情况在Linux下通过脚本读取每行数据的时候就会被强行加上一个回车的操作,此时脚本运行时就会报错,而报错的原因就是因为那个不可见的“\r”回车符号造成的;
这种情况一般可以用Notepad++替换的方式解决,但是不利于大量数据的替换;
在Linux环境就可以用sed命令来批量替换文件中的\r\n;
sed -i ':a;N;$!ba;s/\r\n/\n/g' test.txt