3

Вот в чем дело, у меня огромный беспорядок файлов на внешнем диске, который отформатирован как NTFS. Я хочу скопировать все эти файлы на мой MacBook Pro.

NTFS, как и нормальные файловые системы, чувствительна к регистру. HFS нет.

Где-то в беспорядке десятков тысяч файлов и каталогов, один или несколько «дубликатов» в глазах HFS. Тезисы мешают мне скопировать весь каталог данных на мой Mac.

(MacOSX довольно бесполезно выдает общую ошибку, объясняющую проблему, но не точный файл. Это также не дает вам возможность пропустить)

Каков наилучший подход для решения этой проблемы? Кто-нибудь знает инструмент, который может найти файлы и каталоги с одинаковыми именами без учета регистра?

--Редактировать--

Поэтому я сделал cp -i и оставил его работать на ночь, чтобы проснуться и увидеть, как он прикреплен к дубликату, но когда я проснулся, он закончился! Однако в результирующем каталоге было 13 906 элементов, а в оригинальном - 13 914, поэтому похоже, что cp либо не распознает файлы с одинаковой заданной нечувствительностью к регистру, либо игнорирует их даже с -i .

5 ответов5

5

Я не знаю , если это лучший подход, но следующая команда делает то , что вы хотите , и перечисляет вам все файлы и запись в каталоге , для которых существует дубликат нечувствительны к регистру имена:

find /path/to/check -type f -o -type d | tr A-Z a-z | sort | uniq -d

Что он делает, так это находит все файлы и каталоги в /path /to /check, делает вывод строчными, сортирует эти записи (требуется, так как uniq сравнивает только соседние строки) и фильтрует, чтобы показывать только дублированные строки, т.е. дублированные записи файла или каталога.

Пример: если бы я хотел проверить том Bootcamp на OS X на наличие дубликатов, я бы открыл Terminal.app и выполнил

find /Volumes/BOOTCAMP/ -type f -o -type d | tr A-Z a-z | sort | uniq -d
2

Я не использовал его, но iPartition утверждает, что может неразрушающим образом конвертировать между HFS+ (без учета регистра) и HFSX (с учетом регистра).

1

можно включить [чувствительный к регистру HFSX] без форматирования всего диска

Вы можете создать чувствительный к регистру образ диска в Mac OS X, который можно подключить как обычный том жесткого диска.

# cf. http://codesnippets.joyent.com/posts/show/8617
IMAGE="${HOME}/Desktop/Case Sensitive Test.dmg"
VOLNAME="Case Sensitive Test"

hdiutil create "${IMAGE}" -size 10m -fs HFSX -volname "${VOLNAME}" -layout NONE

hdiutil attach "${IMAGE}"

cd "/Volumes/${VOLNAME}"
touch foo.txt Foo.txt
open .
ls -l [Ff]oo.txt
stat -f "inode: %i  --  name: %N" [Ff]oo.txt

cd ~
hdiutil detach "/Volumes/${VOLNAME}"
1

Я использую Double Commander, который является альтернативой Total Commander для Mac OS X. Он имеет тот же внешний вид, что и TC, и ту же функцию поиска. Easy Find - это хорошо и удобно, но большую часть времени я находил это быстрее. Я только что быстро просмотрел все мои * .iso файлы в моем разделе NTFS.

0

В Mac OS 10.3 команда newfs_hfs -s создаст новую файловую систему с учетом регистра.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .