在 Mac 上,如果区分大小写 *in*,如何在 NTFS 分区上找到具有相同名称的所有文件?

SCd*_*CdF 3 ntfs hfs filesystems macos

这就是交易,我在格式化为 NTFS 的外部驱动器上有一大堆文件。我希望将所有这些文件复制到我的 MacBook Pro 上。

NTFS 与健全的文件系统一样,区分大小写。HFS 不是。

在数以万计的文件和目录的混乱中,在 HFS 眼中存在一个或多个“重复项”。这些论文阻止我将整个数据目录复制到我的 mac 上。

(MacOSX 相当无益地抛出一个解释问题的一般错误,但不是确切的文件。它也没有给你跳过的选项)

解决这个问题的最佳方法是什么?有谁知道可以找到具有相同不区分大小写名称的文件和目录的工具?

- 编辑 -

所以我做了一个cp -i并让它运行了一夜,目的是醒来并看到它卡在一个副本上,但是当我醒来时它已经完成了!但是,生成的目录有 13,906 个项目,而原始目录有 13,914 个,因此听起来cp要么无法识别相同不区分大小写的文件,要么即使使用-i.

Luk*_*che 5

我不知道这是否最好的方法,但以下命令可以执行您想要的操作,并列出存在重复的不区分大小写名称的所有文件和目录条目:

find /path/to/check -type f -o -type d | tr A-Z a-z | sort | uniq -d
Run Code Online (Sandbox Code Playgroud)

它的作用是,在 /path/to/check 中查找所有文件和目录,使输出小写,对这些条目进行排序(需要,因为 uniq 只比较相邻的行)并过滤以仅显示重复的行,即重复的文件或目录条目。

示例:如果我想在 OS X 上检查我的 Bootcamp Volume 是否有重复,我会打开Terminal.app并执行

find /Volumes/BOOTCAMP/ -type f -o -type d | tr A-Z a-z | sort | uniq -d
Run Code Online (Sandbox Code Playgroud)