自动EOL转换代码段?

时间:2018-12-05 06:57:07

标签: eol

我正在处理一个批处理脚本,该批处理脚本根据我的输入生成部署外壳脚本,并且发现生成的外壳脚本具有EOL \r\n,因此我需要添加一个过程来将该文件转换为使用{ {1}}。我一直在寻找本机批处理的解决方案,但失败了,所以现在我正尝试以其他方法来实现。

输入内容是典型的命令外壳程序脚本,其中\n为EOL。

输出应为与EOL相同的shell脚本,并带有\r\n

任何可以在Windows环境中完成的方法将不胜感激。

1 个答案:

答案 0 :(得分:0)

nodejs方法:

\n

通过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'); }); }); 进行调用,将输入嵌入脚本中。

Java方法:

node rn2n.js

通过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); } } } 进行调用,将输入嵌入脚本中。