查找并重命名名称编码错误的文件系统条目

查找并重命名名称编码错误的文件系统条目

在各种文件系统上,我有一堆文件系统条目,它们的名称编码错误(它们是用错误的字符编码编写的)。

如何自动列出所有名称对于当前字符编码无效的条目?

找到所有这些条目后,我怎样才能自动将它们从一种编码重命名为另一种编码?

答案1

我会简单地做一个

convmv -r -f ASCII -t UTF-8 $targetdir

除非你添加--notest它实际上不会对您的文件做任何事情。默认假设源编码为 ASCII,目标编码为 UTF-8。通过管道传输awk'{打印$2}'仅获取将要转换的文件名。

注意:我假设你使用的是 Linux。大多数 POSIX 文件系统不关心文件名的编码,但是convmv 的手册页有几个细节(还有如何解码双 UTF-8 编码的文件名)

相关内容