我是一名Java开发人员,正在使用Ubuntu进行开发。该项目是在Windows上使用Eclipse创建的,并且使用了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,Recode:步骤`data..CR-LF'中的歧义输出中找到了解决方案:
将换行符从CR/LF转换为单个LF:使用Vim编辑文件,执行命令
:set ff=unix
并保存文件。现在,Recode应该可以无错误地运行。
很好,但我有很多文件需要删除CR/LF字符,并且我不能打开每个文件来执行此操作。Vi不提供任何用于Bash操作的命令行选项。
能否使用sed来完成此操作?如何实现?
\r\n
- CRLF) 和 Unix (\n
LF) 换行符的文件时,recode
会产生这个错误。不幸的是,曾经是二进制文件的fromdos
目前是recode
的别名,也存在这个问题。 - Tomasvim +ex_command_one +ex_command_two ... file
吗? - derekdreeryawk
的解决方案。 - Gerold Broser