how to change encoding for batch of files in linux


すべてのaディレクトリのphpファイルをgb 2312からutf 8に符号化する必要があると仮定する
cd a
find ./ -type f -name "*.php"|while read line;do
echo $line
iconv -f GB2312 -t UTF-8 $line > ${line}.utf8
mv $line ${line}.gb2312
mv ${line}.utf8 $line
done 

 
上のスクリプトは、現在のaディレクトリの下にあるすべてのphpファイルをgb 2312からutf 8に移動し、原文は*として保存する.php.gb2312. 元のgb 2312ファイルを削除する必要がある場合は、次の操作を行います.
find ./ -type f -name "*.utf8" -exec rm -f {} \;