find + iconv的组合会强制给文件添加.cpp.cpp类似的后缀,所以组合mv指令 ,放在shell脚本里运行
#!/bin/bash
if [ "$#" != "2" ]; then
echo "Usage: `basename $0` dir filter"
exit
fi
dir=$1
filter=$2
echo $1
for file in `find $dir -name "$2"`; do
echo "$file"
echo "iconv -f gbk -t utf8 $file > $file"
iconv -f gbk -t utf8 $file > $file.in
echo "mv $file.in $file"
mv $file.in $file
done
将该文件命名为iconv.shchmod +x iconv.sh
./iconvsh ./src *.cpp
运行
大字符集转为小字符集,会有内容丢失,并且报错,如utf-8有中文时转为ascii
网友评论