Как указать каталоги с указанным файлом в них имеет указанный контент?

У меня есть сотни каталогов, внутри каждого из них есть файл с именем report.ext и этот файл может содержать строку типа

 Beta score for best model 95.35 

Я хотел бы получить список каталогов, где этот файл существует, где он содержит такую ​​строку и где эта строка содержит значение больше 95.

  • Как исправить зависание с помощью сглаживания sslv3?
  • Используйте вывод из команды find, чтобы удалить конкретный каталог
  • Необходимость grep-файла с конкретным письмом и переход в другую папку Linux
  • Как добавить фильтр в свой grep-скрипт, чтобы НЕ включать строку?
  • Найти владельцев IP-адресов из файла журнала Apache
  • Что означает «вы корень?»?
  • Возможно ли это из инструментов командной строки?

  • Манипуляция клавишей X и указателем захватывается в командной строке
  • Как вызвать экран активности Gnome 3 с помощью мыши?
  • Как удалить пробелы из переменных оболочки?
  • Командная строка Linux: путаница glob
  • Есть ли простой инструмент Bash, который может быстро отображать базовый HTML?
  • Несколько команд grep с сортировкой
  • One Solution collect form web for “Как указать каталоги с указанным файлом в них имеет указанный контент?”

    Проще всего искать эти файлы и печатать их родительский каталог, если их содержимое соответствует. Например, с чем-то вроде:

     find . -name report.ext -type f -exec awk ' /^Beta score for best model [0-9.]+$/ && $NF > 95 { dir = FILENAME sub("/[^/]*$", "", dir) print dir nextfile }' {} + 

    Если ваша реализация awk не поддерживает следующий nextfile , это будет печатать имя каталога для каждого вхождения этих строк в файл.

    Linux и Unix - лучшая ОС в мире.