批量cp936toutf8

written in unicode, vim, encoding

今天在用pelican转网页的时候,原来在windows下写的文件,代码是cp936,识别不了,要转成utf8格式。

通过搜索找到了以下代码

#!/bin/bash
for i in `find . -name "*.cal"`
do
    vim -s ~/bin/cp936-utf8.vi $i
done

用写一段vim用的vi命令就可以了
"cp936-utf8.vi"
:set fileencoding=utf8
:wq!

懂vim的看的懂,这两句做了两件事

  • 设置文件编码
  • 保存写入

另外也学习了 find 的用法

find . -name "*.cal"

意思是在 当前目录下(包括子目录) 查找 文件包含 .cal的所有文件,返回值为包含当前路径的文件名。

./11.cal
./11/11.cal