Dos2unix Linux 命令
“您是否正在寻找一种将 DOS 或 Mac 格式转换为 Unix 格式的方法?每当您需要在 Windows 和 Unix 系统之间共享文件时,文件格式(尤其是纯文本)就会发挥作用。主要区别在于换行符。对于 Unix 和 Linux 系统,行尾由单个字符(换行符 (LF))表示。
相比之下,Windows 文件使用两个字符来表示换行符:回车符 (CR),表示为 (\r),换行符 (LF),表示为 (\n)。
除非您有正确的方法来转换文件,否则您将得到损坏的脚本、代码或格式,这很烦人。这是好的部分,本指南将提供 dos2unix 命令用法的示例来帮助您入门。一探究竟! ”
将 Windows/DOS 文本文件转换为 Unix
dos2unix 是一个实用程序,允许将 DOS 文本文件转换为 Unix 格式,而不影响文本的结构和格式。您首先需要在 Unix 系统上安装该实用程序才能使用它。
安装该工具后,下一步是转换文件。
使用 dos2unix 的基本语法是:
如何确认文件格式?
有时,如果您不确定要转换的文件是否是 DOS 格式,可以使用 vim 编辑器或命令行来确认格式。在我们的例子中,我们使用位于下载文件夹中的 sample1.txt 文件作为 DOS 文件。
要使用 vim 确认格式,请在终端上输入以下命令。
如果您没有安装 vim 编辑器,请使用以下命令安装:
文件在 vim 编辑器中打开后,您可以通过键入来检查格式
按 Enter 键,您应该会看到当前文件格式设置为 fileformat=dos ,如下例所示。
您可以通过输入 :q 退出 vim,然后单击 Enter 返回终端。
或者,您可以使用以下命令来检查文件格式:
您应该检查以确保行以 \r \n 结尾,以确认输出中的 DOS 格式。
使用dos2unix将DOS转换为Unix
现在您确定您的文件需要转换,执行此操作的命令非常简单。但是,请确保您处于 root 状态才能执行它,如图所示。
要进行转换而不保存其原始格式:
要转换并仍然保存原始文件:
该文件将被转换,并且将创建原始 DOS 文件的备份,其扩展名为同名的 .bak 。
就是这样!您现在拥有相同的文件,但采用 Unix 格式。您可以使用 vim 或终端验证文件的当前格式,如我们上面所见。它应该反映 Unix 格式。
使用 vim 检查,输出将是:
使用命令行检查:
输出将是:
您可以注意到最后一行是 \n 以显示其 Unix 格式。答对了!你已经做到了。 dos2unix命令的主要目的是删除\r\n DOS格式中的\r,只留下\n匹配Unix 格式。
Dos2unix 有用选项
您可以将各种选项与 dos2unix 命令组合起来以实现更多功能。他们包括:
1.获取帮助
与任何 Linux 命令一样,您可以使用 -h 或 –help 轻松获取 dos2unix 的帮助页面:
2.跳过二进制文件
默认情况下,转换期间会跳过二进制文件。使用的选项是-s或--safe
3.强制二进制文件转换
如果要转换二进制文件,请添加-f或-force选项。
4.印刷版
要检查 dos2unix 版本,请使用 -V 或 –version 选项。
5.安静模式
警告和消息可能会让人厌烦。幸运的是,您可以使用 -q 或 –quiet 选项抑制它们。
6.保留日期戳
当将 DOS 转换为 Unix 时,输入文件的时间戳将会改变,除非你对其进行限制。要为输出和输入文件保留相同的时间戳,请使用-k 或-keepdate 选项。
结论
您无法避免在 Windows、Mac 和 Unix 之间传输文件。使用 dos2unix 命令,您无需担心如何转换文件。您已经学会了如何轻松地使用 dos2unix 命令来轻松快速地进行转换。