Обработка записи и загрузки файла одновременно

sed будет правильной командой ( stream editor)

tail -n0 -f <file> | sed -n '/search string/p'

, а затем, если вы хотите, чтобы команда tail вышла, как только вы нашли определенная строка:

tail --pid=$(($BASHPID+1)) -n0 -f <file> | sed -n '/search string/{p; q}'

Очевидно, что багизм: $ BASHPID будет идентификатором процесса команды tail. Команда sed следующая после хвоста в трубе, поэтому идентификатор процесса sed будет $ BASHPID + 1.

0
задан Abhinay Pandey 3 March 2019 в 15:19
поделиться