补充说明
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