5
A
回答
11
試試這個:
find . -type f -print -exec iconv -f iso8859-2 -t utf-8 -o {}.converted {} \; -exec mv {}.converted {} \;
它將使用'.converted'後綴(擴展名)的臨時文件,然後將其移動到原始名稱,所以要小心如果你有'.converted'後綴的文件(我認爲你不hav E)。
而且這個劇本是不是包含空格的文件名安全的,所以更多的安全,你應該用雙引號:「{}」,而不是{}和「{} .converted」,而不是{} .converted
1
1
我發現這種方法適用於我,尤其是在我有多個文件編碼和多個文件擴展名的情況下。
創建一個vim腳本調用script.vim:
set bomb
set fileencoding=utf-8
wq
然後運行你希望的文件擴展名的腳本目標:
find . -type f \(-iname "*.html" -o -iname "*.htm" -o -iname "*.php" -o -iname "*.css" -o -iname "*.less" -o -iname "*.js" \) -exec vim -S script.vim {} \;
1
沒有人提出了一種自動檢測編碼和重新編碼。
下面是一個例子,用於重新編碼來自GIT主分支的UTF-8所有HTM/HTML文件。
git ls-tree master -r --name-only | grep htm | xargs -n1 -I{} bash -c 'recode "$(file -b --mime-encoding {})..utf-8" {}'
相關問題
- 1. 如何更改文本文件編碼?
- 2. 如何更改目錄中許多文件的擴展名?
- 3. 轉換許多文件的編碼?
- 4. 如何更改Eclipse中的默認文本文件編碼?
- 5. 如何在eclipse中更改文件的文本編碼?
- 6. 如何在Xcode 4中更改Localizable.strings文件的文本編碼?
- 7. 更改文件編碼
- 8. 如何將'沒有BOM'文件的編碼更改爲'Windows-1252'編碼文件?
- 9. 如何更改sp_send_dbmail附件的編碼?
- 10. 如何更改txt文件中的EOL編碼?
- 11. 如何更改RStudio中.R文件的字符編碼?
- 12. 如何更改visual studio 2012中的文件編碼?
- 13. 如何更改文件編碼表中的java
- 14. 如何更改perl腳本中的文件編碼
- 15. PHP如何更改CSV文件的文本編碼
- 16. 更改文本文件編碼
- 17. 更改PostgreSQL w/Perl的文件編碼
- 18. 更改所有文件的編碼
- 19. 更改C#文件的編碼類型?
- 20. 在bash中用iconv更改編碼多個文件
- 21. 如何更改HtmlWeb編碼
- 22. 如何使用java更改文本文件編碼字符集
- 23. 如何更改此文件上的編碼?
- 24. 如何更改wsimport生成文件的編碼?
- 25. 如何使用vim更改文件的編碼?
- 26. 如何更改mysql轉儲文件的編碼
- 27. 如何從XPages更改導出文件的字符編碼?
- 28. 如何使用Vim更改現有文件的編碼
- 29. 如何更改現有文件的編碼格式?
- 30. 如何避免CR13更改VS2012項目的文件編碼?
看到http://stackoverflow.com/questions/4544669/batch-convert-latin-1-files-to-utf-8-using-iconv – 2012-02-16 11:40:56
您還可以看到「貓文件「 我認爲你的文件問題不是編碼! 也許你的文件可以包含一些顏色代碼,所以你不能看到正常的文件..請嘗試「貓」命令,並再次寫入.. 正常或不正常? – 2012-02-16 11:41:46