所以, 我一直想一个大的Java源代码树从CP1252转换为UTF-8在Windows中,使用技巧和TRIX我在网上找到,specificly here。问题是,我在Windows上;我不做VB; Cygwin的iconv不采用-o
开关。批量转换CP1252为UTF-8在Windows
我第一次尝试使用该生产线是:
find . -type f -print -exec iconv -f cp1252 -t utf-8 {} > {}.converted \; -exec mv {}.converted {} \;
这在工作目录下创建一个文件{}.converted
和第二-exec
失败的原因很明显。周围的iconv表达
把报价:
find . -type f -print -exec 'iconv -f cp1252 -t utf-8 {} > {}.converted' \; -exec mv {}.converted {} \;
resulsts在如下因素的错误:
find: `iconv -f cp1252 -t utf-8 ./java/dv/framework/activity/model/ActivitiesMediaViewImpl.java > ./java/dv/framework/activity/model/ActivitiesMediaViewImpl.java.converted': No such file or directory
虽然手工执行的个人表现完美。
我已经试验了随机引用,但似乎没有工作,我错过了什么?为什么它不工作..?
Thanx提前, 拉尔斯
感谢名单,这按预期工作! 但是,你知道为什么find-exec表达式不起作用吗?是否与输出重定向有关? – Larsing 2012-03-14 08:29:23
我不确定,但'-exec'不是首选。从我学习的地方'-exec'不能执行长参数的命令。我使用'xargs'代替。 – neevek 2012-03-14 11:45:20