本文介绍在Linux系统上安装dos2unix的方法,和使用dos2unix及unix2dos在DOS(Windows)和Unix格式之间转换文本文件。
前言 作为Linux管理员,您可能已经注意到开发人员提出的一些将文件从DOS格式转换为Unix格式的请求,这是因为这些文件是由于某种原因在Windows系统上创建并复制到Linux系统的。不过Linux系统上的某些应用程序可能不理解这些新的字符行,因此您需要在使用前进行转换。 DOS文本文件带有回车符(CR或\r)和换行符(LF或\n)对作为换行符,而Unix文本文件仅将换行符作为换行符。 您可以通过多种方式将DOS文本文件转换为Unix格式。但是我建议使用一个名为dos2unix/unix2dos的特殊实用程序在DOS和Unix格式之间转换文本文件。 dos2unix:将文本文件从DOS格式转换为Unix格式。 unix2dos:将文本文件从Unix格式转换为DOS格式。 另外,tr、awk和sed命令:这些命令可用于相同目的。 您可以使用od(八进制转储)命令轻松地确定文件是DOS格式还是Unix格式,如下所示: # od -bc windows.txt 参考:od命令_Linux od命令使用详解:输出文件的八进制、十六进制等格式编码的字节。 返回如下图信息:
上面的输出清楚地表明这是DOS格式的文件,因为它包含转义序列\r\n。 同时,在终端上打印文件输出时,运行cat windows.txt命令将获得以下输出: # cat windows.txt Unix is a free opensource operating system Super computers are running on UNIX 95% of websites are running on Linux OS Anything can be done on Linux
在Linux上安装dos2unix的方法 可以从发行官方存储库中轻松安装dos2unix。 对于RHEL、CentOS 6/7系统,请使用yum命令安装dos2unix: $ sudo yum install -y dos2unix 对于RHEL、CentOS 8和Fedora系统,使用dnf命令安装dos2unix: $ sudo yum install -y dos2unix 对于基于Debian的系统,请使用apt命令或apt-get命令安装dos2unix: $ sudo apt-get update $ sudo apt-get install dos2unix 对于openSUSE系统,请使用zypper命令安装dos2unix: $ sudo zypper install -y dos2unix
1、如何将DOS文件转换为UNIX格式 以下命令将“windows.txt”文件从DOS转换为Unix格式。 该文件的修改是从文件的每一行中删除“\r”: # dos2unix windows.txt 返回如下信息: dos2unix: converting file windows.txt to Unix format … 运行以下命令: # cat windows.txt 返回如下图信息:
上面的命令将覆盖原始文件。 如果要保留原始文件,请使用以下命令,这会将转换后的输出另存为新文件: # dos2unix -n windows.txt unix.txt 返回如下信息: dos2unix: converting file windows.txt to file unix.txt in Unix format … 1]、如何使用tr命令将DOS文件转换为UNIX格式 如本文开头所述,您可以使用tr命令将DOS文件转换为Unix格式,如下所示: Syntax: tr -d '\r' < source_file > output_file 下面的tr命令将“windows.txt” DOS文件转换为Unix格式的文件“unix.txt”: # tr -d '\r' < windows.txt >unix.txt 注意:您不能使用tr命令将文件从Unix格式转换为Windows(DOS)。 2]、如何使用awk命令将DOS文件转换为UNIX格式 使用以下awk命令格式将DOS文件转换为Unix格式: Syntax: awk '{ sub("\r$", ""); print }' source_file.txt > output_file.txt 下面的awk命令将“windows.txt” DOS文件转换为Unix格式的文件“unix.txt”: # awk '{ sub("\r$", ""); print }' windows.txt > unix.txt
2、如何将UNIX文件转换为DOS格式 当您将文件从UNIX转换为DOS格式时,它将在每行中添加一个回车符(CR或\r): # unix2dos unix.txt 参考:unix2dos命令_Linux unix2dos命令使用详解:转为DOS格式。 返回如下信息: unix2dos: converting file unix.txt to DOS format … 此命令将保留原始文件: # unix2dos -n unix.txt windows.txt 返回如下信息: unix2dos: converting file unix.txt to file windows.txt in DOS format … 下面将介绍如何使用awk命令将UNIX文件转换为DOS格式。 使用以下awk命令格式将UNIX文件转换为DOS格式: Syntax: awk 'sub("$", "\r")' source_file.txt > output_file.txt 下面的awk命令将“unix.txt”文件转换为DOS格式文件“windows.txt”: # awk 'sub("$", "\r")' unix.txt > windows.txt
相关主题 |