Windows上传Linux文件行尾符转换
1、Windows与Linux文件行尾符
众所周知,Windows、Mac与Linux三种系统的文件行尾符不同,其中
- Windows文件行尾符(
\r\n
):
- Linux文件行尾符(
\n
):
- Mac文件行尾符(
\r
):
这可以在Notepad++中显示查看:
如果我们将Windows文件上传到Linux,直接进行操作,可能会出现一些不必要的麻烦
2、Windows与Linux文件格式转换
2.1、未上传在Windows中转换
如果还未上传文件到Linux,可以先在Windows中使用Notepad++转换为Linux格式,然后再上传到Linux
转换后的Linux文件行尾符显示如下:
2.2、已上传在Linux中转换
如果文件已经上传到Linux,可以在Linux中尝试以下方式进行文件格式转换
1)使用dos2unix命令
dos2unix
是一个用于文本文件格式转换的命令。可以使用以下命令安装:
sudo yum install dos2unix
安装完成后,可以使用以下命令将Windows文件格式转换为Linux文件格式:
dos2unix file.txt
这将删除文件中的^M
(代表Linux下/n/r
)符号并将行尾符转换为Unix格式
2)使用sed命令
可以使用sed
命令删除^M
符号:
sed -i 's/\r//g' file.txt
这将直接修改文件,删除所有回车符
3)使用tr命令
也可以使用tr
命令删除^M
符号:
tr -d '\r' < file.txt > new_file.txt
这将从file.txt
中删除回车符,并将结果保存到new_file.txt
中