在bash中使用iconv更改多个文件的编码

时间:2013-05-17 03:15:58

标签: bash encoding iconv

我想用iconv更改多个php文件。

我使用find和exec选项(参考:http://linux.bigresource.com/Ubuntu-Encoding-Conversion-on-Multiple-Files--4fuXvUwbN.html

find . -type f -name '*.php' -print -exec iconv -f euc-kr -t utf-8 {} -o {}.utf8 

但错误发生了。

find: missing argument to `-exec'

我只想一次转换所有的php文件。 我如何用bash中的一个语句来做到这一点?

2 个答案:

答案 0 :(得分:6)

您必须在\;操作的最后添加+-exec

find . -type f -name '*.php' -print -exec iconv -f euc-kr -t utf-8 {} -o {}.utf8 \;

答案 1 :(得分:3)

经过一些测试后终于发现解决方案在我的mac上运行

for f in *.TXT; do iconv -f CP1250 -t utf-8 $f > $f.txt; done