Jestem programistą Java i używam Ubuntu do programowania. Projekt został stworzony w Windows z Eclipse i używa kodowania Windows-1252 .
Aby przekonwertować do UTF-8, użyłem programu recode :
find Web -iname \*.java | xargs recode CP1252...UTF-8
To polecenie powoduje ten błąd:
recode: Web/src/br/cits/projeto/geral/presentation/GravacaoMessageHelper.java failed: Ambiguous output in step `CR-LF..data
Szukałem tego i otrzymałem rozwiązanie w Bash i Windows, Recode: Niejednoznaczne wyjście w kroku `data..CR-LF ' i mówi:
Konwertuj zakończenia linii z CR / LF na pojedynczy LF: Edytuj plik za pomocą Vima, podaj polecenie
:set ff=unix
i zapisz plik. Przekodowywanie powinno teraz działać bez błędów.
Fajnie, ale mam wiele plików, z których mogę usunąć znak CR / LF, i nie mogę otworzyć każdego, aby to zrobić. Vi nie zapewnia żadnej opcji w wierszu poleceń dla operacji Bash.
Czy można do tego użyć seda? W jaki sposób?
recode
powoduje ten błąd podczas próby przekodowania pliku z mieszanym kodowaniem nowej linii dos (\r\n
- CRLF) i unix (\n
LF). Niestetyfromdos
, dawniej plik binarny jest obecnie aliasem do przekodowywania, który ma ten problem.