Wyszukiwanie slowa w pipe

0

Tworze pipe i trzymam w nim jakis tekst. Jak moge wyszukac dana fraze z tego pipe tak zeby nie utracic jego zawartosci?

# create a temporary named pipe
PIPE=$(mktemp -u)
mkfifo $PIPE
# attach it to file descriptor 3
exec 3<>$PIPE
# unlink (delete) the named pipe
rm $PIPE
echo "Jakies zdanie 1" >&3
echo "Jakies zdanie 2" >&3
echo "Slowo klucz" >&3

Teraz chcialbym przeszukac tego pipa i np. jak znajde slowo klucz to wtedy zrobie cos. Czyli chcialbym zrobic if [ w pipe jest slowo klucz]; then zrob cos. Ale tez nastepnie chcialbym moc skorzystac z jego zawartosci np. gdy uzywam grep -Fxq $'Slowo klucz\n' to wtedy trace ta zawartosc

1

No bo tak dziala pipe. Wybierz inny mechanizm, ew. napisz co dokladnie chcesz osiągnąć ze musi to tak działać...

0

Mam zrobic komunikacje w grze turowej bot vs czlowiek. Dlatego puszczam bota w tle, gui w tle i po prostu bot musi czekac az czlowiek skonczy ruch. Czlowiek skonczy ruch kiedy gui wypisze END na stdout. Stad musze wiedziec kiedy gui wypisze END a nastepnie skopiowac wyjscie gui do wejscia bota (gui na wyjscie wypisuje ruchy czlowieka i wlasnie komunikuje koniec komenda END). Dlatego musze czekac az w strumieniu wyjscia gui pojawi sie to END

0

To zrób dwa kanały, jeden dla END a drugi dla danych, w którym też możesz dać END.
Z tym, że nie bardzo rozumiem dokładnie co i jak działa, mógłbyś to bardziej szczegółowo opisać?

0

A czemu bash a nie jakiś TCL czy inny Perl? Tzn. jak uważasz, ale do takich zabaw z powodzeniem używam w pracy zestawu TCL/Expect.

1 użytkowników online, w tym zalogowanych: 0, gości: 1