shell 中怎样去除数据中^M 字符。

2024-12-02 12:07:40
推荐回答(5个)
回答1:

这个符号^M在Linux文本文件中能看出来,在Windows系统下看不出来,因为这是windows系统下的回车换行符号。

有2中方法可以去掉这个回车换行符号。

第一种是全文替换,第二中是先搜索字符串,然后用sed命令处理。


方法

用vim打开文件,输入以下命令

vi filename

然后在vi命令模式下输入以下内容:

:/^M//g

这里特别注意:注意^M符号的输入方法,先按住CTRL,再按下v和m


方法二:

打开一个terminal命令窗口,输入以下命令:

sed -i `s/^M/g`  filename

注意^M符号的输入方法,先按住CTRL,再按下v和m

这里推荐使用方法二,完成替换后,可以用less命令或者cat命令,查看更改后的文件。

回答2:

这种问题运维中经常遇到,直接把^M替换就行了,但是直接敲^M去替换不会成功。^M应该用ctrl+v+m打,具体用1:$ s/ctrl+v+m/ /g,这样就行了

回答3:

dos2unix myfile
或者用管道传给 doc2unix

回答4:

tr -d '^M' < textfile > newfile
这个应该可行

回答5:

用vim打开 替换%s/\r*$//