情况:我有一堆文本文件(准确地说是 .csv),大约 20000 个字符编码不同:大多数情况下file -i *.csv
给我charset=us-ascii
,但有些是utf-16le
.
目标:我希望它们都以相同的方式编码,这里是 us-ascii。我想到了一个检查目录中每个文件的编码的单行器,如果是utf-16le
,它将其转换为us-ascii
.
几天前我才开始学习 bash 编程,所以这个我仍然无法理解。是否有可能,比如在每个文件上运行 file -i(这样做),捕获返回值,检查给出的编码,如果它不是 us-ascii,转换它?
感谢您帮助我了解如何做到这一点!