Есть ли способ поиска во всех текстовых файлах в папке (и подпапках) определенной строки или фрагмента текста в Mac OS X?
7 ответов
Если вы предпочитаете командную строку,
grep "my string of text" -R .
Вам нужно будет (или познакомиться) с grep
. Читайте man grep
для получения дополнительной информации.
Вы не можете сделать это с помощью значка прожектора в строке меню. Но вы можете сделать это с помощью spotlight:
Перейдите к папке в Finder.
Введите свой поиск в строке поиска в правом верхнем углу папки.
Над результатами есть строка, которая гласит:
Поиск: этот Mac "Ваше имя папки"
Нажмите на название вашей папки, чтобы ограничить поиск папкой, а не целым компьютером, что и делает выбор по умолчанию "Этот Mac".
Затем щелкните значок шестеренки, выберите «Показать критерии поиска» и измените вид на текстовые файлы.
В правом верхнем углу экрана: прожектор
BBEdit также поддерживает отличный поиск по файлам и папкам.
mdfind 'kMDItemTextContent="*text*"c' -onlyin ~/Notes/
c
игнорирует регистр. Посмотрите этот ответ для обзора формата запроса и других атрибутов.
grep -F what? -l -r ~/Notes --include *.txt
-F
ищет фиксированные строки вместо регулярных выражений. -l
печатает только имена соответствующих файлов.
Открыть Finder
Перейдите к папке, которую вы хотите найти, если у вас есть.
Введите термин, который вы хотите найти в строке поиска в верхнем правом углу. Возможно, вам придется вытянуть окно, чтобы увидеть его.
После того, как вы начнете печатать или нажмете ввод, вы увидите раздел под окном поиска слева, который гласит:
Поиск: Этот Mac " Ваша папка " поделился
Если вы хотите выполнить поиск по всему компьютеру, нажмите "Этот Mac". В противном случае нажмите на название папки рядом с ним. Возможно, он уже выбран.
Справа от этих опций находится кнопка "Сохранить" со знаком плюс.
Нажмите знак плюс. Вы увидите два выпадающих списка. В первом выберите "Вид". Во втором выберите "Любой" или "Текст".
Выбор "Любой" может найти больше совпадений, в то время как "Текст" найдет файлы, которые Mac OS X определит, попадающие в категорию "Текст".
Количество результатов поиска будет отображаться в нижнем колонтитуле, если отображается нижний колонтитул.
К вашему сведению, я заметил, что иногда для поиска требуется время, а иногда нет никаких признаков того, что Finder что-то делает. Я бы не стал слишком долго ждать, но если вы ищете маленькую папку, она должна быть очень быстрой. Поиск в вашем Mac может занять до минуты или более.
Примечание: чтобы найти точную фразу, заключите ее в кавычки.
Для более высокой скорости поиска вы можете использовать ag
(серебряный искатель)
Установка: brew install the_silver_searcher
Использование одинаково, просто замените grep
на ag
Например,
ag "my string of text" -R .
Больше информации можно посмотреть на Github.