如何用sed删除\r字符

How to remove \r character with sed

很简单,我有一个在每个换行符处都有 \r\n 的文件。

aaaa\r\nbbbb\r\ncccc

我想删除 \r 字符,同时保留 \n。

我可以在 python 中轻松完成此操作,但使用简单的 sed 命令似乎更优雅。这可能吗?什么表情可以解决问题?我似乎无法在网上找到任何此类解决方案。

谢谢

你应该可以像这样用 sed 做到这一点:

sed 's/\r//g' orig.txt > modified.txt

如果您在 mac 上使用终端,请改用它来识别 \r

sed "s/$(printf '\r')$//" orig.txt > modified.txt

添加到以前的答案中,如果您想修改文件而不是创建新文件:

sed -i 's/\r$//' file.txt

如果您想存储备份文件,假设扩展名为 .bak:

sed -i.bak 's/\r$//' file.txt

这会修改 file.txt 并创建一个名为 file.txt.bak.

的备份文件