在Linux环境下,若要将Windows格式的文本文件(其中换行符为 \r\n
)转换为Linux格式(换行符为 \n
),可以使用以下几种方法之一:
dos2unix
命令这是一个专门用于转换文本文件换行符格式的工具,适用于大多数Linux发行版
dos2unix [文件名]
如果你的系统没有预装dos2unix
,可以通过包管理器安装(对于Debian/Ubuntu系使用apt
,对于CentOS/RHEL系使用yum
或dnf
):
- sudo apt-get install dos2unix # Debian, Ubuntu, Mint等
- sudo yum install dos2unix # CentOS, RHEL
- sudo dnf install dos2unix # Fedora
sed
命令在终端中,按Ctrl+V
然后按Enter
键输入真正的\r
字符,或者在某些终端中输入Ctrl+M
代替:
sed -i 's/\r//g' [文件名]
这里的 -i
参数表示在原文件上直接进行修改,如果不希望直接修改原文件,可以重定向输出到新文件:
sed 's/\r//g' [文件名] > [新文件名]
vi
或vim
编辑器打开文件并设置文件格式为Unix格式:
vi [文件名]
在vi/vim中执行以下命令:
- :set ff=unix
- :wq
这将在保存并退出文件时将文件转换为Unix换行符格式。
tr
命令在某些情况下,也可以使用tr
命令,尽管这不是常见做法,但理论上也能完成任务:
tr -d '\r' < [文件名] > [新文件名]
这条命令会删除输入文件中的所有\r
字符,并将结果输出到新文件中。不过请注意,这种方法不如dos2unix
或sed
准确,因为它不检测\r\n
对,而是单独删除\r
字符。