一:问题的提出
如何将一个目录下的编码为 GB18030 的 *.php (所有php文件) 更改为 utf8格式。
二:问题的解决
建立脚本 vi f.sh
#!/bin/bash
find ./ -type f -name "*.php"|while read line ;
do
echo $line
iconv -f GB18030 -t UTF-8 $line > ${line}.utf8
mv $line ${line}.18030
mv ${line}.utf8 $line
done
然后运行脚本即可
上面脚本将当前ipaddr目录下的所有php文件,从gb2312转到utf8,原文保存为*.php.gb2312
如果需要删除原来的gb2312文件,只需执行:
find ./ -type f -name "*.utf8" -exec rm -f {} /;
解释一下, find 命令 -type f 表示 要查找文件的类型是普通文件, ./ 表示在当前目录查找
-name 后面是要匹配的文件模式 ,用 | 和 while 表示每找到一个符合匹配的文件
输出到 line 用 变量 line 来保存它。 然后一直循环。
三:注意
上面的命令需要用软件 iconv ,如果你没有安装,请安装iconv
如何将一个目录下的编码为 GB18030 的 *.php (所有php文件) 更改为 utf8格式。
二:问题的解决
建立脚本 vi f.sh
#!/bin/bash
find ./ -type f -name "*.php"|while read line ;
do
echo $line
iconv -f GB18030 -t UTF-8 $line > ${line}.utf8
mv $line ${line}.18030
mv ${line}.utf8 $line
done
然后运行脚本即可
上面脚本将当前ipaddr目录下的所有php文件,从gb2312转到utf8,原文保存为*.php.gb2312
如果需要删除原来的gb2312文件,只需执行:
find ./ -type f -name "*.utf8" -exec rm -f {} /;
解释一下, find 命令 -type f 表示 要查找文件的类型是普通文件, ./ 表示在当前目录查找
-name 后面是要匹配的文件模式 ,用 | 和 while 表示每找到一个符合匹配的文件
输出到 line 用 变量 line 来保存它。 然后一直循环。
三:注意
上面的命令需要用软件 iconv ,如果你没有安装,请安装iconv