我是一名 Java 开发人员,我正在使用 Ubuntu 进行开发。该项目是在带有 Eclipse 的 Windows 中创建的,它使用 Windows-1252 编码。
为了转换为 UTF-8,我使用了 recode 程序:
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 来执行此操作吗?如何?
原文由 MaikoID 发布,翻译遵循 CC BY-SA 4.0 许可协议
应该有一个名为
dos2unix
的程序会为您修复行尾。如果它还没有在你的 Linux 机器上,它应该可以通过包管理器获得。