Вы можете использовать grep
с -P
(PCRE):
grep -P -A 1 'SomeTest(?!AA)' file.txt
(?! AA)
- шаблон отрицательного просмотра вперед нулевой ширины, гарантирующий отсутствие AA
после SomeTest
.
Тест:
$ grep -P -A 1 'SomeTest(?!AA)' file.txt
SomeTestABCD
EndTest
SomeTestDEFG
EndTest
SomeTestACDF
EndTest
No importa, descubrí cómo leer los datos usando scripts de shell como se describe aquí:
http://www.linuxjournal.com/content/using-named-pipes-fifos-bash
while true
do
if read line <$pipe; then
if [[ "$line" == 'quit' ]]; then
break
fi
echo $line
fi
done
Configuraría dos canalizaciones con nombre y las conectaría con
tee -a pipe.log < pipe1 > pipe2
Luego haga que la primera aplicación escriba en pipe1
y la segunda lea desde pipe2
.
Alternativamente, puede conectarlos con
tee pipe2 < pipe1
Para que los datos se canalicen a su salida estándar.