📜  bash 如何删除每行末尾的 ^M - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:39:28.391000             🧑  作者: Mango

Bash 如何删除每行末尾的 ^M

在使用 Windows 系统编写的文本文件中,每行结尾处可能会出现一个看不见的控制字符 ^M(回车符),这会导致在 Linux 或 macOS 系统中打开该文件时出现问题。为了解决这个问题,可以使用以下方法从文本文件中删除每行末尾的 ^M。

方法一:使用 sed 命令
sed -i 's/\r$//' filename

该命令使用了 sed 命令,其中 / 表示正则表达式的开始和结束,\r 表示回车符,$ 表示行结尾。替换部分留空,则将回车符替换为空,实现删除每行末尾的 ^M。 -i 参数表示修改原文件。

方法二:使用 tr 命令
tr -d '\r' <filename >newfilename

该命令使用了 tr 命令,其中 -d 参数表示删除指定字符,\r 为回车符。使用重定向将删除 ^M 后的文本写入新文件 newfilename 中。

除此之外,还有很多其他方法也可以用于删除每行末尾的 ^M,例如使用 awk 命令等。请根据自己的需求选择合适的方法。

以上是 Bash 如何删除每行末尾的 ^M 的介绍,希望对你有所帮助。