You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript中是否有类似dos2unix的DOS转UNIX格式转换功能

JavaScript 实现DOS(CR LF)转UNIX(LF)格式的方案

完全可以通过JavaScript实现和dos2unix命令等效的格式转换功能,核心逻辑是对文本中的换行符做正则替换:

基础核心实现

DOS格式的换行符为\r\n(CR LF),UNIX格式的换行符为\n(LF),直接全局替换即可:

function dos2unix(text) {
  // 全局替换所有CRLF为LF
  return text.replace(/\r\n/g, '\n');
}

如果需要同时兼容旧Mac系统的\r(单独CR)换行格式,可以扩展为:

function dos2unix(text) {
  return text.replace(/\r\n/g, '\n').replace(/\r/g, '\n');
}

Node.js 本地文件转换示例

如果是在Node.js环境处理本地文本文件,可以参考以下实现:

const fs = require('fs');

/**
 * 将指定路径的文本文件转为UNIX换行格式
 * @param {string} filePath 文件绝对/相对路径
 */
function convertFileDos2Unix(filePath) {
  const originContent = fs.readFileSync(filePath, 'utf8');
  const convertedContent = originContent.replace(/\r\n/g, '\n');
  fs.writeFileSync(filePath, convertedContent, 'utf8');
}

注意事项

  • 处理GBK等非UTF-8编码的文件时,需要先把文件内容转成UTF-8编码再做替换,避免乱码
  • 处理大于100M的大文件时建议使用Node.js的stream流接口逐块处理,避免一次性加载全量内容占用过高内存
  • 如果需要去除文件开头的BOM标记,可以额外添加.replace(/^\uFEFF/, '')逻辑

内容的提问来源于stack exchange,提问作者user2388677

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 11:36:01