把 Windows 的 CRLF 换行符转换为 macOS 的 LF
清除来自 Windows 的文本、CSV、脚本文件中的回车符问题。
运行 `perl -pi -e 's/\r\n/\n/g' 文件.txt` 原地把文件改为 Unix 换行。
01命令
命令
$ perl -pi -e 's/\r\n/\n/g' 数据.txt02作用说明
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' 数据.txt05来源
- perlrun – how to execute the Perl interpreter依据: perl -pi in-place edit is the standard line-ending conversion method on macOS
最后验证: 2026-09-18 · 分类: 文件与文件夹