Dos2unix Linux 命令Dos2unix Linux 命令Dos2unix Linux 命令Dos2unix Linux 命令
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

Dos2unix Linux 命令

“您是否正在寻找一种将 DOS 或 Mac 格式转换为 Unix 格式的方法?每当您需要在 Windows 和 Unix 系统之间共享文件时,文件格式(尤其是纯文本)就会发挥作用。主要区别在于换行符。对于 Unix 和 Linux 系统,行尾由单个字符(换行符 (LF))表示。

相比之下,Windows 文件使用两个字符来表示换行符:回车符 (CR),表示为 (\r),换行符 (LF),表示为 (\n)。

除非您有正确的方法来转换文件,否则您将得到损坏的脚本、代码或格式,这很烦人。这是好的部分,本指南将提供 dos2unix 命令用法的示例来帮助您入门。一探究竟! ”

将 Windows/DOS 文本文件转换为 Unix

dos2unix 是一个实用程序,允许将 DOS 文本文件转换为 Unix 格式,而不影响文本的结构和格式。您首先需要在 Unix 系统上安装该实用程序才能使用它。

$ sudo apt-get install dos2unix

安装该工具后,下一步是转换文件。

使用 dos2unix 的基本语法是:

$ dos2unix [options] [file-to-convert]

如何确认文件格式?

有时,如果您不确定要转换的文件是否是 DOS 格式,可以使用 vim 编辑器或命令行来确认格式。在我们的例子中,我们使用位于下载文件夹中的 sample1.txt 文件作为 DOS 文件。

要使用 vim 确认格式,请在终端上输入以下命令。

$ vim [filename]

如果您没有安装 vim 编辑器,请使用以下命令安装:

$ sudo apt-get install vim

文件在 vim 编辑器中打开后,您可以通过键入来检查格式

:set ff?

按 Enter 键,您应该会看到当前文件格式设置为 fileformat=dos ,如下例所示。

您可以通过输入 :q 退出 vim,然后单击 Enter 返回终端。

或者,您可以使用以下命令来检查文件格式:

$ od -bc sample1.txt

您应该检查以确保行以 \r \n 结尾,以确认输出中的 DOS 格式。

使用dos2unix将DOS转换为Unix

现在您确定您的文件需要转换,执行此操作的命令非常简单。但是,请确保您处于 root 状态才能执行它,如图所示。

要进行转换而不保存其原始格式:

$ sudo dos2unix sample1.txt

要转换并仍然保存原始文件:

$ sudo dos2unix -b sample1.txt

该文件将被转换,并且将创建原始 DOS 文件的备份,其扩展名为同名的 .bak 。

就是这样!您现在拥有相同的文件,但采用 Unix 格式。您可以使用 vim 或终端验证文件的当前格式,如我们上面所见。它应该反映 Unix 格式。

使用 vim 检查,输出将是:

使用命令行检查:

$ od -bc sample1.txt

输出将是:

您可以注意到最后一行是 \n 以显示其 Unix 格式。答对了!你已经做到了。 dos2unix命令的主要目的是删除\r\n DOS格式中的\r,只留下\n匹配Unix 格式。

Dos2unix 有用选项

您可以将各种选项与 dos2unix 命令组合起来以实现更多功能。他们包括:

1.获取帮助

与任何 Linux 命令一样,您可以使用 -h 或 –help 轻松获取 dos2unix 的帮助页面:

$ dos2unix -h

2.跳过二进制文件

默认情况下,转换期间会跳过二进制文件。使用的选项是-s或--safe

3.强制二进制文件转换

如果要转换二进制文件,请添加-f或-force选项。

4.印刷版

要检查 dos2unix 版本,请使用 -V 或 –version 选项。

5.安静模式

警告和消息可能会让人厌烦。幸运的是,您可以使用 -q 或 –quiet 选项抑制它们。

6.保留日期戳

当将 DOS 转换为 Unix 时,输入文件的时间戳将会改变,除非你对其进行限制。要为输出和输入文件保留相同的时间戳,请使用-k 或-keepdate 选项。

$ dos2unix -k sample1.txt

结论

您无法避免在 Windows、Mac 和 Unix 之间传输文件。使用 dos2unix 命令,您无需担心如何转换文件。您已经学会了如何轻松地使用 dos2unix 命令来轻松快速地进行转换。

©2015-2025 艾丽卡 support@alaica.com