eol - 自动 EOL 转换片段?
问题描述
我正在编写一个根据我的输入生成部署 shell 脚本的批处理脚本,我发现我生成的 shell 脚本有 EOL \r\n
,所以我需要添加一个过程来将此文件转换为使用\n
. 我一直在寻找本机批处理的解决方案但失败了,所以现在我正在尝试用其他方法来做。
输入是带有\r\n
EOL 的典型 shell 脚本命令。
输出应该是与\n
EOL 相同的 shell 脚本。
任何可以在 Windows 环境中完成的方法都将不胜感激。
解决方案
nodejs方法:
const fs = require('fs');
fs.readFile('apply_patchx.sh','utf8',(err,data)=>{
fs.writeFile('apply_patch.sh',data.replace(/\r?\n/g,"\n"),()=>{
console.log('converted');
});
});
通过调用node rn2n.js
,嵌入在脚本中的输入。
Java方法:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class RN2N {
public static void main(String[] args){
try {
BufferedReader br = new BufferedReader(new FileReader("apply_patchx.sh"));
BufferedWriter bw = new BufferedWriter(new FileWriter("apply_patch.sh"));
for(String line; (line = br.readLine()) != null;){
bw.write(line.replaceAll("\\\\r\\\\\n", "\\\\n"));
}
br.close();
bw.flush();
bw.close();
System.out.println("converted");
} catch (IOException e) {
System.exit(1);
}
}
}
通过调用java RN2N
,嵌入在脚本中的输入。
推荐阅读
- java - 如何在 JAXB2 maven 插件版本 2.4 中定义模式目录?
- java - 如何将数据从 Spring MVC 控制器重定向/转发到其他页面作为 POST?
- python-3.x - 如何在 Ray Tune 中定义与搜索算法无关的高维搜索空间?
- jmeter - 间隔在jmeter中运行特定的采样器
- javascript - Javascript - For 循环仅影响数组中的最后一个元素
- dart - 空感知函数调用?
- sql - GROUP BY 函数取消 DISTINCT
- typo3 - 防止typo3换行空行
- android - 如何从 xml 元素中获取成员值
- r - Rmarkdown H1 标题作为标签(tabset)