最近遇到工程里面c/c++代码注释utf8和gbk共存的情况,在服务器上使用vim编辑非常不方便.于是编写了一个shell程序遍历所有文件,并将所有文件中中文gbk编码转化为utf8。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| #!/bin/sh
# 定义一个方法 foreachd(){ # 遍历参数1 for file in $1/* do # 如果是目录就打印处理,然后继续遍历,递归调用 if [ -d $file ] then # echo $file foreachd $file else if [[ $file =~ ".h" || $file =~ ".cpp" ]] then echo $file tempfile=`echo $file”.5″` iconv -f gbk -t utf8 $file > $tempfile mv $tempfile $file fi fi done }
#执行,如果有参数就遍历指定的目录,否则遍历当前目录 if [ $# -gt 0 ] then foreachd “$1″ else foreachd “.” fi
exit 0
|