怎么使用iconv批量转码?
参考资料:
https://cloud.tencent.com/developer/article/1084672
我们已经知道iconv是一个命令行下用于转码的工具,当进行单个文本文件的转码时可以参照这篇文章:https://www.cnblogs.com/chester-cs/p/11784079.html。常见的应用场景就是macbook上用utf8解码GB码出现乱码。
但是,今天遇到了一个需求是进行批量的转码。于是我找到了参考资料中的文章,并以图示的方式进行解释。
精髓就是一段代码:
find * -exec sh -c "iconv -f GB18030 -t utf-8 {} > ../utf-8/{}.txt" \;
假设我们有这么多文本:
cd 到当前路径然后运行 find * 就会找到所有的文件。
find -exec 是 find 的特色用法。sh -c 就是运行一个单行的脚本
"iconv -f GB18030 -t utf-8 {} > ../utf-8/{}.txt"
这个脚本就是将当前的文件转码后放到隔壁的utf-8文件夹下,并加上后缀.txt
最后别忘记了 \; \ 是转义字符,; 是find -exec的终止标志。
运行后的效果如下:
检查后一切正常!