Thread View: pl.comp.os.linux.programowanie
4 messages
4 total messages
Started by Boguś
Sat, 19 Feb 2011 00:26
Wrapper do kolorowania
Author: Boguś
Date: Sat, 19 Feb 2011 00:26
Date: Sat, 19 Feb 2011 00:26
21 lines
1767 bytes
1767 bytes
Hej Potrzebuje znaleźć w ostateczności napisać skrypt/program który pokolorowałby wynik z urządzenia zdalnego. Wygląda to tak że loguje się via telnet/ssh na jakieś urządzenie, wydaje polecenie np. show interface terse i chce pokolorować wynik tego polecenia (aha na zdanlnym urządzeniu nie ma linuxa) a dodatkowo pokolorować niektóre pola ze względu na wartość - mniej więcej cwrapper działa na takiej zasadzie ale tylko dla poleceń systemowych i bez sprawdzania wartości. Może ktoś widział/ma jakiś skrypt/program który robiłby takie ficzery :) Z tego co szukałem to raczej chyba nic nie znajdę więc w czym można by było napisać coś takiego (bash/perl) Pytałem o to na p.c.o.linux ale tak jak pisałem chyba będzie o to ciężko i trzeba będzie samemu coś skrobnąć Jakieś sugestie ? Pozdrawiam Boguś
Re: Wrapper do kolorowania
Author: Michoo
Date: Sat, 19 Feb 2011 09:37
Date: Sat, 19 Feb 2011 09:37
24 lines
1697 bytes
1697 bytes
W dniu 19.02.2011 01:26, Boguś pisze: > Hej > > Potrzebuje znaleźć w ostateczności napisać skrypt/program który > pokolorowałby wynik z urządzenia zdalnego. > Może ktoś widział/ma jakiś skrypt/program który robiłby takie ficzery :) > Z tego co szukałem to raczej chyba nic nie znajdę więc w czym można by > było napisać coś takiego (bash/perl) Jeżeli nie musi to być za bardzo interaktywne to perl w potoku. Robisz zestaw regexpów do zamiany: /(wprowadzenie)(tekst do kolorowania)(zakończenie)/$1"kolor"$2"brak koloru"$3/ i aplikujesz po kolei całą tablicę. Jedynym faktycznym problemem jest zrobienie state machine, które będzie pozwalało na pamiętanie kontekstu w trybie interaktywnym, albo buforowanie wyjścia aż do "czystego" znaku zachęty - ale wtedy nieinteraktywnie. -- Pozdrawiam Michoo
Re: Wrapper do kolorowania
Author: Michal Jaegermann
Date: Sat, 19 Feb 2011 18:08
Date: Sat, 19 Feb 2011 18:08
18 lines
1850 bytes
1850 bytes
Boguś <bogus@pozdrawiam.spamerow.pl> wrote: > Wygląda to tak że loguje się via telnet/ssh na jakieś urządzenie, > wydaje polecenie np. show interface terse i chce pokolorować wynik tego > polecenia (aha na zdanlnym urządzeniu nie ma linuxa) a dodatkowo > pokolorować niektóre pola ze względu na wartość Innymi slowy wynik należy przepuścić przez odpowiedni filtr na tym co to wyświetla. Łatwiej z ssh bo sie używa to co w SYNOPSIS na 'man ssh' nazywa się "[command]". > Może ktoś widział/ma jakiś skrypt/program który robiłby takie ficzery :) Dla przykładu na dowolnej instalacji Fedory/Red Hat/CentOS w /etc/init.d/functions można zobaczyć jak się robi coś takiego w bash. Użyte kody zmieniające kolory zależą od typu wyświetlacza. Jeżeli potrzebne jest coś uniwersalnego to do tego są ncurses. Michał
Re: Wrapper do kolorowania
Author: Boguś
Date: Wed, 23 Feb 2011 04:02
Date: Wed, 23 Feb 2011 04:02
24 lines
1951 bytes
1951 bytes
W dniu 2011-02-19 10:37, Michoo pisze: > Jeżeli nie musi to być za bardzo interaktywne to perl w potoku. Robisz > zestaw regexpów do zamiany: > /(wprowadzenie)(tekst do kolorowania)(zakończenie)/$1"kolor"$2"brak > koloru"$3/ > i aplikujesz po kolei całą tablicę. > > Jedynym faktycznym problemem jest zrobienie state machine, które będzie > pozwalało na pamiętanie kontekstu w trybie interaktywnym, albo > buforowanie wyjścia aż do "czystego" znaku zachęty - ale wtedy > nieinteraktywnie. Dzięki za podpowiedzi - po długim czasie grzebania w sieci w końcu znalazłem to o co mi chodziło http://cpansearch.perl.org/src/AJWOOD/Term-VT102-0.91/VT102/examples/telnet-usage.pl działa jak normalny klient telnet - nie chciałem też w ogóle używać expecta bo nie chodziło mi o automatyzacje - dorzuciłem do tego Term::AnsiColor i mam co mi trzeba :) Zostawiam dla potomnych gdyby ktoś szukał pozdr
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads