首页 > 程序资源 > 因文件名包含不可见符号导致无法转移做种或辅种的解决方案

因文件名包含不可见符号导致无法转移做种或辅种的解决方案

昨天使用 QB 下载了 《小鬼当家系列》合集,结果从 qb 转移到 tr 后,进度归0了...

重新把种子传到 qb 以后进度也归零了,反复校验均未能通过。

重新下载种子后,发现同名文件夹多了一套“完全一样”的文件名。

目录下有相同名称文件

尝试通过复制文件名的方式 cp 过去,提示是同一个文件...

wtf???

最后,通过一番技巧,终于找到了罪魁祸首,文件名中包含不可见字符。

以下是可操作的实施方案:

# 将文件名列出后写入到某个文件
ls -l > files.txt
# vim 使用二进制方式 打开这个文件
vim -b files.txt
# vim 中使用十六进制显示特殊符号
:%!xxd

vim 中看到文件名有特殊符号

通过如上一番操作,大概可以看到,两个文件是不完全一样的,其中一个多了一个零宽字符 <200e>

现在,我们已经知道这个文件名中多了个空白符号,接下来就是如何将原来已经下载完成的文件,改名成种子中对应的文件名了。

注意,以下操作请执行确认文件名是从哪个改名到哪个,不要照抄,不过一般应该是从没有特殊符号的改成有特殊符号的。

而看到的文件名中包含的特殊符号 <200e> 替换为 \u200e 即可.

mv "小鬼当家 Home Alone (1990).mkv" "$(echo -e "小鬼当家 Home Alone\u200e (1990).mkv")"

校验通过

其他文件,以此类推,改名后重新校验,通过。

至于为什么会出现这种问题,暂无可知。

上一篇: shell 实现自释放多文件,自解压功能。

下一篇: 基于 github 公开的 keys 快速添加到 ssh 的 authorized_keys

最近回复

标签