shell批量修改文件编码

第一个Shell脚本,很成功,值得记录一下。

inputDir=<span class="keyword">ls</span> ~/<span class="keyword">mac</span>/temp/SDK v1.2.0.F源文件/
outDir=~/mac/temp/out/

for file in $inputDir
do
new_file=“$outDir$file”
iconv -f GBK -t UTF-8 ${file} > ${new_file}
done

改进版

#!/bin/bash

DIR=$1
FT=$2 # 需要转换的文件类型(扩展名)
SE=$3 # 原始编码
DE=$4 # 目标编码

for file in find <span class="variable">$DIR</span> -type f -name <span class="string">"*.<span class="variable">$FT</span>"</span>; do
echo “conversion $file encoding $SE to $DE
iconv -f $SE -t $DE $file > $file.tmp
mv -f $file.tmp $file
done