Я обычно создаю длинные многопроцессорные каналы в Linux/Unix для обработки больших текстовых файлов (sed | grep | sort | less и т. Д.).Буферизационная фильтровальная трубка на Linux
Я хотел бы иметь возможность использовать элемент конвейера, который будет буферизовать все, полученное через stdin, до тех пор, пока не будет обнаружена ключевая фраза/строка (например, «УСПЕХ»), и в этот момент он освобождает все полученные до этой точки значения stdout и затем продолжает пропускать остальную часть потока. Если ключевая фраза не обнаружена, программа отбросит все содержимое.
Есть ли стандартная команда, которая может это сделать, или мне нужно написать Perl-скрипт?
Заранее благодарим за любые идеи здесь!
Wodow, любитель труб
Похвалы за «любовник труб» ... –