Grep GUI на OS X

3958
Jason S

Это вопрос от бывшего / текущего пользователя Windows. Если я смотрю на окно Finder в определенном каталоге, как я могу искать файлы с именами, соответствующими определенному шаблону (например, «p * .php»), которые содержат определенную строку текста?

4

5 ответов на вопрос

3
ridogi

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

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

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

  3. Над результатами есть строка, которая гласит: Search: This Mac "Your Folder Name"Нажмите на название вашей папки, чтобы ограничить поиск папкой, а не целым компьютером, что и делает выбор по умолчанию «Этот Mac».

  4. Затем щелкните значок шестеренки, выберите «Показать критерии поиска» и сузьте область поиска. Например, вы можете добавить «Имя оканчивается на .php», а затем нажмите «плюс», чтобы добавить еще один критерий. Затем вы можете добавить «Имя начинается с р»

Редактировать: я просто взял файл php и искал эту строку, array_push($songs,$song)и он не найдет файл, но если я только поиск до запятой (то есть array_push($songs) прожектор действительно находит файл!

Я нашел эту статью, которая объясняет, как добавить php в качестве поддерживаемого типа файла для центра внимания, который должен исправить странный результат, который я получил выше. Я полагаю, что без этого изменения центр внимания обрабатывает файл только как rtf, поэтому некоторые элементы php (особенно знаки пунктуации) могут привести к сбою поиска. Команда для редактирования необходимого файла:

sudo nano /System/Library/Spotlight/RichText.mdimporter/Contents/Info.plist 

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

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

0
markratledge

Одним простым способом является Spotlight в верхнем правом углу окна файла или на экране рабочего стола; это простой текст для имен файлов и строк. Grep возможно с помощью команд Terminal и * unix (Терминал находится в Applications / Utilities /). Есть инструменты командной строки Aqua, хотя она выглядит старой.

Я знаю о центре внимания, но, похоже, нет способа указать, что вы хотите искать более точно. Кроме того, он не выглядит в определенных типах файлов, которые являются текстовыми, но имеют странные расширения. Jason S 14 лет назад 0
Прочитайте Spotlight 101: http://support.apple.com/kb/HT2531 markratledge 14 лет назад 0
0
larsks

Текстовые редакторы некоторых программистов предлагают функцию, подобную grep, для поиска регулярного выражения в нескольких файлах; Много (много) месяцев назад BBEdit имел эту функцию (и, вероятно, все еще имеет; я просто не использовал ее в течение многих лет). Я не удивлюсь, если обнаружу, что другие инструменты, предназначенные для разработчиков, также имеют аналогичные функции.

0
Hasaan Chop

И Spotlight, и Finder - это попытка связаться с людьми, которые держат на полках линию книг «Для чайников» и, следовательно, не способны анализировать регулярные выражения или что-то особенно необычное. Многим людям нравится PathFinder в качестве замены, но я считаю, что это больше проблем, чем стоит, так как Finder будет запускаться сам, независимо от того, что вы делаете.

0
Chealion

Используя AppleScript (и do shell scriptиспользовать Perl), можно запустить скрипт, чтобы выбрать все файлы, которые соответствуют регулярному выражению. Это может быть объединено с такими программами, как FastScripts, и фактически задокументировано и доступно для загрузки разработчиком в его блоге .