我是Java开发人员,正在使用Ubuntu进行开发。该项目是使用Eclipse在Windows中创建的,并且使用Windows-1252编码。
要转换为UTF-8,我使用了重新编码程序:
find Web -iname \*.java | xargs recode CP1252...UTF-8
此命令给出此错误:
recode: Web/src/br/cits/projeto/geral/presentation/GravacaoMessageHelper.java failed: Ambiguous output in step `CR-LF..data
我已经搜索了它,并在Bash和Windows中获得了解决方案,重新编码:在“ data..CR-LF”步骤中的输出模棱两可,它说:
将行尾从CR / LF转换为单个LF:使用Vim编辑文件,输入命令
:set ff=unix
并保存文件。现在重新编码应该可以正常运行。
很好,但是我有很多文件要从中删除CR / LF字符,我无法打开每个文件来完成。Vi不为Bash操作提供任何命令行选项。
sed可以用来做到这一点吗?怎么样?
recode
尝试使用Dos(\r\n
-CRLF)和UNIX(\n
LF)换行符混合编码重新编码文件时,会产生此错误。不幸的是fromdos
,以前是二进制文件,当前是要重新编码的别名,因此存在此问题。