把 Windows 的 CRLF 换行符转换为 macOS 的 LF

清除来自 Windows 的文本、CSV、脚本文件中的回车符问题。

macOStextutil 文本转换换行符文件编码中风险
运行 `perl -pi -e 's/\r\n/\n/g' 文件.txt` 原地把文件改为 Unix 换行。

01命令

命令
$ perl -pi -e 's/\r\n/\n/g' 数据.txt

02作用说明

Windows 用 CRLF 结尾换行,macOS/Linux 用 LF,这会导致 shell 脚本无法运行、diff 输出错乱、解析失败。原地的 `perl -pi` 无需临时文件即可逐行修改(macOS 默认没有 dos2unix)。反向转换时在 `\n` 前补 `\r` 即可。

03风险

风险中风险
!注意: 原地修改无法撤销——重要文件请先复制一份;切勿转换二进制文件(图片、docx),改写会直接损坏文件格式。

04撤销

撤销
$ cp 数据.txt 数据.txt.bak 2>/dev/null; perl -pi -e 's/(?<!\r)\n/\r\n/g' 数据.txt

05来源

最后验证: 2026-09-18 · 分类: 文件与文件夹

06相关方案