0

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

这些文件是由批处理脚本创建的,然后使用它们并在之后删除它们,所以我需要在批处理脚本中完成更改,所以我不能一次性使用Change EOL on multiple files 中给出的答案。我正在使用 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 还在这里。

我什至尝试过对文件进行 hexdump,然后sed s/0d//对这个文件进行一个,但是不,那些0d只是不想删除!

任何想法?我在这个“预期容易”的事情上苦苦挣扎:'(

4

0 回答 0