千家信息网

linux去掉windows下文件中的\r

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,Unix体系里,每行结尾只有"<换行>",即"\n";Windows体系里面,每行结尾是"<换行><回 车>",即"\n\r"。一个直接结果是,Unix体系下的文件在Windows里打开的话,所有文字
千家信息网最后更新 2024年11月23日linux去掉windows下文件中的\r

Unix体系里,每行结尾只有"<换行>",即"\n";
Windows体系里面,每行结尾是"<换行><回 车>",即"\n\r"。
一个直接结果是,Unix体系下的文件在Windows里打开的话,所有文字会变成一行;
而Windows里的文件在Unix下打开的话,在每行的结尾可能会多出一个^M符号。

方法1:

在命令模式下:输入:%s/^M//g 然后,回车即可替换注,其中"^M"的输入,分别是"Ctrl+v"、"Ctrl+M"键生成的

方法2:

使用vi打开文本文件vi dos.txt命令模式下输入:set fileformat=unix:w

方法3:

使用sed 工具sed 's/^M//' filename > tmp_filename

方法4:

既然window下的回车符多了'\r',那么当然通过删除'\r' ,也可以实现:tr -d '\r'

方法5:(最常用的方法)

在终端下敲命令:$ dos2unix filename直接转换成unix格式,就OK了!~

sed -i 's/\r//' startup.sh

window下默认是 \r\nlinux下是\nunix下是\r
0