Греп против внимания на mac

Я недавно чеканил CS, и мне было интересно, какие преимущества использования grep против spotlight на Mac. Я выполнил команду для поиска определенного файла, потому что я потерял информацию о том, в каком каталоге он находится, что заняло некоторое время, но когда я сделал это в центре внимания, результат был мгновенным. Мне нравится использовать командную строку, и это делает мою жизнь намного проще, чем представление каталога UI на Mac, поэтому я хотел бы узнать, как использовать ее в полном объеме.

Быстрые сравнения

итеративный

grep обычно выполняет поиск содержимого файла для соответствия шаблонам. Подумайте о поиске содержимого файла. grep придется вручную перемещать файловую систему с заданной начальной точки.

Мне любопытно, как вы использовали grep .

find – стандартная команда * nix для поиска файловой системы для файла. Посмотрите справочную страницу, у нее есть много способов ее использования. Но в основном, он перемещает вашу файловую систему с заданной начальной точки и ищет совпадения.

индексированный

spotlight – это утилита OSX, которая ищет индексированный список файлов. spotlight опирается на индекс и, следовательно, способен к очень быстрому поиску, поскольку он не выполняет ручную итерацию по файловой системе. Обычно рабочий поток делает это для создания индекса.

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

другие

Если вам нужно искать содержимое файла и использовать управление версиями, скажем, в проекте разработки, ag silver_searcher является гораздо более быстрой альтернативой grep . Он работает в сценариях контроля версий и уважает ваш список игнорируемых типов файлов для поиска файлов, содержащих шаблон

Как возможное решение для вас; OS X также имеет команду locate которая использует индексирование для поиска файлов. Вероятно, это лучший вариант увидеть ту же производительность поиска на кли, которую вы видите в центре внимания. Чтобы настроить базу данных, вы должны выполнить команду:

sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist

После создания базы данных вы можете использовать:

locate <file>