怎么使用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的终止标志。

  运行后的效果如下:

  检查后一切正常!

原文地址:https://www.cnblogs.com/chester-cs/p/13931378.html