Я нашел предложения на этой странице, и многие другие страницы просто не работают в моей системе Mac OS X.Тем не менее, я нашел вариант, который работает для меня.
Основная идея состоит в том, чтобы искать Macintosh HD, но избегать обхода всех внешних томов, в основном это резервные копии Time Machine, резервные копии изображений, подключенные общие ресурсы иархивы, но без необходимости размонтировать их все, что часто нецелесообразно.
Вот мой рабочий скрипт, который я назвал "findit".
#!/usr/bin/env bash
# inspired by /2474280/kak-isklychit-katalog-v-find-komanda Danile C. Sobral
# using special syntax to avoid traversing.
# However, logic is refactored because the Sobral version still traverses
# everything on my system
echo ============================
echo find - from cwd, omitting external volumes
date
echo Enter sudo password if requested
sudo find . -not \( \
-path ./Volumes/Archive -prune -o \
-path ./Volumes/Boot\ OS\ X -prune -o \
-path ./Volumes/C \
-path ./Volumes/Data -prune -o \
-path ./Volumes/jas -prune -o \
-path ./Volumes/Recovery\ HD -prune -o \
-path ./Volumes/Time\ Machine\ Backups -prune -o \
-path ./Volumes/SuperDuper\ Image -prune -o \
-path ./Volumes/userland -prune \
\) -name "$1" -print
date
echo ============================
iMac2:~ jas$
Различные пути должны сделатьс внешними томами архивов, Time Machine, виртуальными машинами, другими подключенными серверами и т. д.В некоторых именах томов есть пробелы.
Хороший тестовый запуск - "findit index.php", потому что этот файл встречается во многих местах моей системы.С этим сценарием поиск по основному жесткому диску занимает около 10 минут.Без этих исключений это займет много часов.