Shell命令从文本文件中删除^ M个字符

Hom*_*lli 7 linux awk grep sed

可能重复:
在Unix中删除回车

我正在阅读外部第三方生成的一些数据.我注意到文件中的ASCII文本中插入了^ M个字符,我认为这是ASCII中的字符13,表示没有换行的回车符.

我可以使用一个单行程来从文件中删除^ M个字符吗?

我在Linux(Ubuntu)上运行.

anu*_*ava 15

你可以像这样使用sed:

sed -i.bak 's/^M$//' infile.txt
Run Code Online (Sandbox Code Playgroud)

要键入^M,您需要键入CTRL-V然后CTRL-M.


she*_*ter 7

要么

dos2unix infile.txt file2.txt ....
Run Code Online (Sandbox Code Playgroud)

要么

man dos2unix 
Run Code Online (Sandbox Code Playgroud)

更多细节.