gpt4 book ai didi

linux重命名多个非utf-8的文件

转载 作者:太空狗 更新时间:2023-10-29 12:33:24 29 4
gpt4 key购买 nike

我有旧的 samba 服务器文件,它们在文件名中不显示 ä,ö,ü,õ 等特殊字符。它们显示为?标记。因此,我的客户无法打开这些文件或文件夹。他们看到文件和文件夹,但他们的名字是空白的。在服务器中它们显示如下:例如 T??tunnid.doc。

一旦我使用 mv 命令重命名它们,我的客户就可以毫无问题地打开文件夹和文件。

有谁知道我可以用来重命名所有文件的脚本吗?在他们身上做记号。所以他们显示 - 相反。我想重命名特定文件夹中的文件,例如/samba/documents/...

最佳答案

您可以尝试使用 convmv 重命名文件并改变其字符编码。通常这个符号 ? 表示文件名和终端/文件系统/其他东西的不同编码。尝试确定您的文件使用哪种字符编码并像这样运行它:

convmv -fcp1251 -tutf8 *

您可以编写简单的脚本或 shell 循环来遍历目录并重命名所有需要的文件:

find /full/path -execdir convmv --notest -fcp1251 -tutf8 {} \;

但首先确保您使用正确的字符编码。

关于linux重命名多个非utf-8的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20113919/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com