我们机构有大约28000篇文章,其编码不是utf-8.我被要求找到一种方法将其编码更改为utf-8.是否有任何linux或Windows命令更改文件的编码而不打开文件?显然,打开28000个文件并逐个更改它们并不是一个好主意!
iconv
可用于将文本文件从一种编码转换为另一种编码.大多数Linux发行版都应该拥有它 - 通常作为其中的一部分glibc
; 如果没有,那么作为一个单独的可安装包.
所以,如果他们是拉丁语-1(ISO-8859-1),你可以这样做:
$ iconv -f ISO-8859-1 -t UTF-8 foo.txt >foo-utf8.txt
Run Code Online (Sandbox Code Playgroud)
你可以将它包装在一个单行中find
,例如:
$ tmpdir=$(mktemp -d -t $tempXXXXXX); find . -type f -exec iconv -f ISO-8859-1 -t UTF-8 {} >${tmpdir}/temp \; -exec mv ${tmpdir}/temp {} \; ; rmdir ${tmpdir}
Run Code Online (Sandbox Code Playgroud)
但是你可以在半打的bash/python/perl /中使它更具可读性和更强大.
归档时间: |
|
查看次数: |
3892 次 |
最近记录: |