在Windows批处理中将CRLF文件转换为LF

时间:2019-10-18 15:17:38

标签: batch-file newline lf

我正在Windows中创建文件,因此它们会自动创建为CRLF文件;我需要它们成为LF文件。

文件由批处理脚本创建,然后使用它们并随后将其删除,因此我需要在批处理脚本中进行更改,因此我无法使用Change EOL on multiple files in one go中给出的答案。我正在使用MinGW64,因此也没有PowerShell,这意味着Powershell v2: Replace CRLF with LF也无法解决我的问题。我真的需要通过MinGW64 cmd在批处理脚本中完成此操作。

我认为只用sed删除CR部分会很容易,但是我已经尝试了所有可以想到的方法,以及在互联网上发现的所有方法,但没有一个起作用。

我已经尝试过:

sed -e "s/\x0d$//" myCRLFfile > newLFfile
sed -e "s/\x0D$//" myCRLFfile > newLFfile
sed -e "s/\r$//" myCRLFfile > newLFfile
awk "{gsub(\""\r\"";\""\"");print} myCRLFfile > newLFfile

我也尝试用^转义$和\字符。我还尝试了所有不带双引号的sed(但不能带单引号,在cmd中不起作用)。 所有这些都是“有效的”,我的意思是没有错误。他们什么也没做,CR仍然在这里。

我什至尝试对文件进行十六进制转储,然后对这个文件进行sed s/0d//,但是不,那些0d只是不想删除!

有什么主意吗?我正在为这个“预期容易的”事情而苦苦挣扎:'(

0 个答案:

没有答案
相关问题