Есть ли другой способ использовать tail -f для работы grep -q &&?

Я нашел это решение: https://stackoverflow.com/questions/7178888/grep-q-not-exiting-with-tail-f

но есть ли другие возможности?

UPD: Я хочу сделать tail -f | grep -q something && echo 'found!' tail -f | grep -q something && echo 'found!' но он не работает, потому что tail -f предотвращает закрытие трубы, поэтому команда echo не может быть выполнена.

2 Solutions collect form web for “Есть ли другой способ использовать tail -f для работы grep -q &&?”

Попробуйте на свой страх и риск:

 tail -n 0 -f /tmp/bar | { grep -q -m1 zoo && echo found ; pkill -P $$ '^tail$' ; } 

Команда pkill необходима, если совпадение находится в последней строке. Но может убить другой tail в фоновом режиме, если он есть у одного и того же родителя.

Я считаю, что вы хотите использовать параметры grep -q или -m . Если вы хотите увидеть соответствующую строку, используйте -m1 , который распечатает строку и выйдет (отправка SIGPIPE в tail , что приведет к ее завершению). Если вы не хотите видеть строку, используйте -q , который будет просто выйти, когда найдет первое вхождение.

  • Интерактивный, скрытый живой хвост из нескольких файлов?
  • Как я могу контролировать файл, который полностью воссоздается во время его запуска?
  • Помощь с модификацией команды
  • Окрашивание хвостового выхода с помощью perl
  • Как выполнить эту команду оболочки из Python?
  • Временно заморозить процесс при взаимодействии оболочки
  • Преобразование строк новой строки в нуль-ограничение при использовании хвоста
  • Команда для удаления первого N числа строк на входе
  • Добавьте возврат каретки к выходу `tail` при использовании` grep`
  • Как эхо из определенной строки файла в другую определенную строку
  • Файлы с изменением хвоста
  • Interesting Posts

    «Echo $ IFS» не возвращает значение IFS

    Vmware Xorg ошибка компиляции раскладки?

    Gnome: принудительное приложение для запуска сверху

    Сервер Freeradius для нескольких сетей поставщиков

    Как использовать утилиту командной строки ul

    Правильный синтаксис для включения. * Каталогов с tar

    Настройка сети ad-hoc при загрузке

    Переключение звуковой карты без перезапуска браузера

    Использование mintty в качестве терминала по умолчанию для Cygwin и оболочки по умолчанию как bash

    неопределенная ссылка на ошибку «curl_free». Не могу найти, что делать

    Как отсортировать эти строки?

    Загрузка Linux из оперативной памяти

    xf86EnableIOPorts: не удалось установить IOPL для ввода-вывода (операция не разрешена)

    Как создать учетную запись пользователя с определенными разрешениями?

    "Dyld: библиотека не загружена: /usr/local/lib/libcurl.4.dylib" при выполнении завитка с непривилегированным пользователем

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