AI 问答
你是一个数学家,请问9.9和9.11哪个大?
企业微信机器人发送消息脚本
AI 问数实现主要步骤
人类感知延迟
Chrome 存储介绍
浏览器缓存
Linux 命令行中 && 和 ; 区别和用法
Windows 系统怎么修改 CPU 的显示型号信息和查看真实的 CPU 型号信息
at 命令详细指南
如何确保提交代码到 git 上时 CRLF 转成 LF
Apache License 2.0
从 0 创建一个 docker 镜像
Linux 文件系统及分区表和 LVM
Linux 查看分区表类型
Windows 批量文件名重命名
将文本文件中的 CRLF 批量转换为 LF
批量将 GB2312 编码转换为 UTF-8 编码
分区类型 MBR 和 GPT 有什么区别
exFAT 和 FAT32 有什么区别
文件的元数据 是什么
花括号展开(Brace Expansion)
cat 显示特殊字符
图标文件有什么在线制作的站点
发布 Chrome 扩展程序的步骤
常用加密方式
密码学的常用攻击方式
3D 打印学习路径
新手 FDM 3D 打印学习路径
Linux 备份和还原 PostgreSQL 数据库方案
数学符号
通过 nginx 转发解决跨域问题
所有希腊字母及其读法
通过 Docker Compose 部署 lscr.io/linuxserver/libreoffice 服务
通过 Docker Compose 部署 libreoffice/online
在 Linux 上为 Docker 配置代理
数学公式测试
祖宗十八代
Windows 重启文件管理器
小米手机怎么设置特殊号码
国债逆回购终极操作指南(2025完整版)——从基础原理到高阶自动交易策略
本文档使用 MrDoc 发布
-
+
首页
将文本文件中的 CRLF 批量转换为 LF
将文本文件中的 **CRLF(\r\n,Windows换行符)批量转换为 LF(\n,Unix/Linux换行符)**,以下是多种跨平台的高效方法,涵盖命令行工具、脚本编程和图形界面工具: --- ## 一、使用 `dos2unix` 工具(推荐) **适用场景**:Linux/macOS/Windows(需安装)环境,快速批量转换。 1. **安装工具**: - Linux/macOS: ```bash # Ubuntu/Debian sudo apt install dos2unix # CentOS/RHEL sudo yum install dos2unix ``` - Windows:通过 [Cygwin](https://www.cygwin.com/) 或 [MSYS2](https://www.msys2.org/) 安装。 2. **批量转换**: ```bash # 单文件转换 dos2unix filename.lrc # 递归转换目录下所有文件(包括子目录) find /path/to/files -type f -name "*.lrc" -exec dos2unix {} \; ``` **说明**: - `dos2unix` 直接修改原文件,若需保留原文件,使用 `-n` 参数生成新文件。 - Windows 用户可通过 Git Bash 运行上述命令。 --- ## 二、Python 脚本批量处理 **适用场景**:跨平台、需自定义处理逻辑时。 ```python import os def convert_crlf_to_lf(directory): for root, _, files in os.walk(directory): for file in files: if file.endswith(".lrc"): file_path = os.path.join(root, file) with open(file_path, 'rb') as f: content = f.read() content = content.replace(b'\r\n', b'\n') # CRLF → LF with open(file_path, 'wb') as f: f.write(content) print(f"Converted: {file_path}") # 使用示例 convert_crlf_to_lf("/path/to/lrc_files") ``` **优势**: - 自动递归处理子目录,支持任意文本编码(二进制模式操作)。 - 可扩展为同时处理其他换行符(如旧版 Mac 的 `\r`)。 --- ## 三、Git 自动转换(适用于版本控制项目) **适用场景**:项目已使用 Git,需长期统一换行符。 1. **配置 Git**: ```bash # 提交时转换为 LF,检出时不转换(推荐跨平台项目) git config --global core.autocrlf input ``` 2. **强制重新规范化文件**: ```bash git add --renormalize . git commit -m "Normalize line endings to LF" ``` **效果**:Git 会自动将工作区文件的换行符转为 LF,且后续提交保持一致。 --- ## 四、其他工具 1. **文本编辑器批量处理**: - **VS Code**:右下角点击换行符标识(CRLF/LF),选择“LF”后保存所有文件。 - **Notepad++**:菜单栏“编辑” → “文件格式转换” → “转换为 Unix (LF)”。 2. **Linux 命令行替代方案**: ```bash # 使用 sed 删除 CR 字符 sed -i 's/\r//g' *.lrc # 使用 tr 删除 CR tr -d '\r' < input.lrc > output.lrc ``` **注意**:`sed` 和 `tr` 需逐文件处理,结合 `find` 可批量操作。 --- ## 五、注意事项 1. **备份文件**:转换前建议备份原文件,避免意外损坏。 2. **混合换行符**:若文件中混用 `\r\n` 和 `\n`,建议先用 Python 或 `dos2unix` 统一处理。 3. **编码兼容性**:确保文件编码为 UTF-8 或 ASCII,避免乱码(可结合 `iconv` 工具转换编码)。 选择方法时,优先推荐 `dos2unix` 或 Python 脚本,兼顾效率与灵活性。若文件在 Git 仓库中,直接通过 Git 配置管理更便捷。
七宇轩远
2025年05月21日
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码