Linux 命令速查
文本处理 man unix2dos

unix2dos

把文本文件的换行符从 LF 转换为 CRLF

返回

补充说明

unix2dos 属于 dos2unix 套件,用于把 Unix/Linux 风格的换行(LF,\n)转换成 DOS/Windows 风格的换行(CRLF,\r\n)。处理 Windows 记事本、老式编辑器或某些嵌入式设备需要的文本格式时会用到它。

默认行为是就地修改文件,并保留原文件的时间戳与权限;只处理看起来像文本的文件,二进制文件会被跳过。用 -n 可以指定输入输出文件而不改动原文件,-k 则在转换后保留原文件的修改时间。

反向操作用 dos2unix。注意 UTF-16 等编码的文本需要先转码,否则转换结果会损坏;跨平台 Git 仓库一般用 .gitattributes 的 text eol=crlf 统一处理,而不是手工批量转换。

语法

unix2dos [选项] [文件...]
unix2dos -n 输入文件 输出文件

选项

  • -k, --keepdate:保留原文件的修改时间
  • -n, --newfile:写入新文件,不修改输入文件
  • -o, --oldfile:就地写回原文件(默认行为)
  • -q, --quiet:安静模式,不输出统计信息
  • -f, --force:强制转换,即使检测为二进制
  • -h, --help:显示帮助
  • -V, --version:显示版本

实例

# 就地转换一个文件
unix2dos readme.txt

# 转换并写入新文件,保留原文件
unix2dos -n notes.txt notes-win.txt

# 批量转换目录下的 .txt 文件
unix2dos *.txt

# 转换并保留时间戳
unix2dos -k config.ini

# 从标准输入转换到标准输出
unix2dos < input.txt > output.txt

参考链接