Поиск по текстовым файлам в Mac OS X

68

Есть ли способ поиска во всех текстовых файлах в папке (и подпапках) определенной строки или фрагмента текста в Mac OS X?

Пол Шелдрейк
источник

Ответы:

25

Вы не можете сделать это с помощью значка прожектора в строке меню. Но вы можете сделать это с помощью spotlight:

  1. Перейдите к папке в Finder.

  2. Введите свой поиск в строке поиска в правом верхнем углу папки.

  3. Над результатами есть строка, которая гласит:

Поиск: этот Mac "Ваше имя папки"

Нажмите на название вашей папки, чтобы ограничить поиск папкой, а не целым компьютером, что и делает выбор по умолчанию «Этот Mac».

Затем щелкните значок шестеренки, выберите «Показать критерии поиска» и измените вид на текстовые файлы.

ridogi
источник
1
к сожалению, похоже, что это делает ИЛИ, а не И, и я думаю, что некоторые символы удаляются из запросов.
Арам Кочарян
Вам нужно сначала проиндексировать вашу папку?
Jokoon
нет, пока папка обычно индексируется в центре внимания
ридоги
5
@ Арам Вы выяснили, как сделать «И»? Я ищу "Мои кошачьи варежки", и он находит все, что имеет "Мои" или "кошки" или "варежки", а НЕ мою точную фразу. РЕДАКТИРОВАТЬ - добавить кавычки вокруг него.
1,21 гигаватт
91

Если вы предпочитаете командную строку,

grep "my string of text" -R .

Вам нужно быть (или познакомиться) с grep. Читайте man grepдля получения дополнительной информации.

retracile
источник
2
В моей .profile я создал этот помощник: function findtext() { grep -ri "$1" . }. Я использую это так: findtext totoгде я хочу начать поиск.
Maxence
до сих пор не работал ...
Марсело
1
Недостатком является то, что он работает очень медленно. поиск около 50 ГБ текста мучительно медленен.
Уткарш Дубей
1
что это значит: grep: warning: рекурсивный поиск stdin
SuperUberDuper
@SuperUberDuper Это означает, что вы пропустили трейлинг "." (т.е. вы не указали каталог)
user664303
5

В правом верхнем углу экрана: прожектор

BBEdit также поддерживает отличный поиск файлов и папок.

markratledge
источник
BBEdit теперь TextWrangler, и он продолжает включать отличный многофайловый поиск grep.
Фил
BBEdit это просто BBEdit, TextWrangler это просто TextWrangler. BBEdit немного более расширен, чем TextWrangler. TextWrangler бесплатен как в бесплатном пиве.
Кузен Кокаин
4
mdfind 'kMDItemTextContent="*text*"c' -onlyin ~/Notes/

cигнорирует регистр Посмотрите этот ответ для обзора формата запроса и других атрибутов .

grep -F what? -l -r ~/Notes --include *.txt

-Fищет фиксированные строки вместо регулярных выражений. -lпечатает только имена соответствующих файлов.

LRI
источник
Очень хороший, очень быстрый, очень солидный. mdfind 'kMDItemTextContent="*text*"c' -onlyin ~/Notes/
YumYumYum
2

Открыть Finder

введите описание изображения здесь

Перейдите к папке, которую вы хотите найти, если у вас есть.

введите описание изображения здесь

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

введите описание изображения здесь

После того, как вы начнете печатать или нажмете ввод, вы увидите раздел под окном поиска слева, который гласит:

Поиск: Этот Mac " Ваша папка " поделился

Если вы хотите выполнить поиск по всему компьютеру, нажмите «Этот Mac». В противном случае нажмите на название папки рядом с ним. Это может быть уже выбрано.

введите описание изображения здесь

Справа от этих опций находится кнопка «Сохранить» со знаком плюс.

введите описание изображения здесь

Нажмите на знак плюс. Вы увидите два выпадающих списка. В первом выберите «Вид». Во втором выберите «Любой» или «Текст».

введите описание изображения здесь

Выбор «Любой» может найти больше совпадений, в то время как «Текст» найдет файлы, которые Mac OS X определит, попадающие в категорию «Текст».

Количество результатов поиска будет отображаться в нижнем колонтитуле, если отображается нижний колонтитул.

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

Примечание: чтобы найти точную фразу, заключите ее в кавычки.

1,21 гигаватт
источник
1

Я бы посоветовал вам взглянуть на File Content Finder в App Store (отказ от ответственности - я его разработчик). Это доступное приложение, специально предназначенное для поиска содержимого файла без индексации. Он поддерживает текстовые файлы и другие основные форматы файлов (pdf, doc (x), xls (x) и т. Д.).

Его фильтрация позволяет оптимизировать и уточнить поиск по нескольким критериям - типу файла, дате создания / изменения и т. Д.

Вот подробная документация о том, как это работает.

Geo Systems
источник
0

Для более быстрой скорости поиска, вы можете использовать ag(серебряный искатель)

Монтаж: brew install the_silver_searcher

Реализуется это так, просто заменить grepнаag

Например,

ag "my string of text" -R .

Больше информации можно посмотреть на Github .

Душа
источник