今天在用python做爬虫后需要merge文件,但是由于在设计阶段没有考虑各网站编码的不统一,所以导致merge出来的文件格式乱的。后来想到用shell来解决这个问题。
比如我需要将title目录下的文件编码转换后放到/gbk/目录下
find . -type -f -exec iconv -c -f utf-8 -t gbk {} -o /gbk{} ;
加上-c是因为在conv过程中有可能编码失败,需要ignore,类似python的 decode('utf-8',ignore).encode('gbk')
find命令详解
find . -name "*something*" -exec action {} somearguments ;
find . -name "*something*" 找出所有名字包含something的文件
-exec 执行后面的命令, action 某个命令名,就是例子中的iconv
; 结束命令