Change encoding multiple file with iconv in bash

百般思念 提交于 2019-12-06 04:20:06

问题


I want to change multiple php files encoding with iconv.

I use find and exec option (Reference : 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 

But the error is occured.

find: missing argument to `-exec'

I just want to convert all php files in a once time. How can i do this with one statement in a bash?


回答1:


You must put either \; or + at the end of the -exec action.

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



回答2:


after some tests finally found out solution working on my mac

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


来源:https://stackoverflow.com/questions/16600835/change-encoding-multiple-file-with-iconv-in-bash

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!