2
如何在Linux上分辨文件名的语言编码?
我有一个包含来自外部来源的约10,000个图像文件的目录。 许多文件名包含非DB友好或Web友好的空格和标点符号。我还想在每个文件名的末尾附加一个SKU编号(出于会计目的)。许多(如果不是大多数)文件名还包含扩展的拉丁字符,我想保留这些扩展的拉丁字符用于SEO(具体来说,这样文件名就可以准确表示Google图像中的文件内容) 我制作了一个bash脚本,该脚本将所有文件重命名(复制)到所需的结果。bash脚本保存在UTF-8中。运行后,它将忽略大约500个文件(无法统计文件...)。 我在目录上运行了convmv -f UTF-8 -t UTF-8,发现这500个文件名未以UTF-8编码(convmv能够检测和忽略UTF-8中已经存在的文件名) 有没有一种简单的方法可以找出他们当前正在使用哪种语言编码? 我能弄清楚自己的唯一方法是将终端编码设置为UTF-8,然后使用convmv遍历所有可能的候选编码,直到显示出“看起来正确”的转换名称。我无法确定这500个文件全部使用相同的编码,因此我需要将此过程重复500次。我想要一种比“看起来不错”更自动化的方法!