Jak uzyskać przewijaną fabułę w systemie Linux (przy użyciu narzędzi wiersza polecenia)?


1

Przypuśćmy, że mam program, który okresowo drukuje linie z danymi, jak mogę przekształcić je następnie w wykres graficzny, który aktualizuje się za każdym razem, gdy dostępna jest nowa linia?

$ ./prog
10 44
20 66
30 55
40 58
50 59
55 58
60 77
^ C

$ ./prog | scrollingplot

Pojawia się okno i aktualizacje każdej linii drukowane:

80 |                             
  | ----   
  | ---- ______...__ /
  | / -----
  | -
40 |
-------------------------------
    10 20 30 40 50 60

# Pamiętaj, że fabuła w stylu ASCII jest tylko na przykład, 
# Chcę proste okno X jak w mplayerze.

Jest wystarczająco dużo narzędzi do przechowywania danych statycznych, ale nie widziałem narzędzi do aktualizacji danych (z wyjątkiem ksysguard).


Zauważ, że nie chcę fabuły w stylu ASCII Art, wystarczy pokazać, że jest fabuła. Chcę, aby jakieś okno GUI pojawiło się jak w mplayer.
Vi.

Odpowiedzi:


2

Jeśli potrafisz uruchomić Perla, możesz zajrzeć do tego skryptu, który wydaje się robić dokładnie to, co chcesz. Używa GnuPlot do wyświetlania wykresu.

http://users.softlab.ece.ntua.gr/~ttsiod/gnuplotStreaming.html

GnuPlot jest potężny i ma wiele funkcji. Jeśli chcesz dowiedzieć się więcej na ten temat, spróbuj googlingu w tutorialu gnuplot .


+1; bardzo chłodny Script (przez potrzeba trochę czasu, aby to ^ C), i wykorzystuje ten gnuplot bogate w funkcje.
whitequark

Przykład:for((;;)) { cat /proc/loadavg | grep -o '^[^ ]*' | sed 's/^/0:/' ; sleep 1; } | driveGnuPlotStreams.pl 1 40 0 2 qqq 0
Vi.

Lepsza alternatywa: git: //github.com/dkogan/feedgnuplot.git. Po dodaniu opcji -noraisedo gnuploti podejmowania --streami --linesdomyślna to działa dobrze.
Vi.

0

Może myślę zbyt prosto, ale: Wyczyść ekran cleari ponownie uruchom program do drukowania?


Chcę narzędzie GUI (ten sam poziom GUI co displaylub mplayer), który może również wyświetlać oś współrzędnych, wyświetlać gładkie linie i tak dalej.
Vi.


@Shiki Przedstawiłem fabułę, ponieważ AA nie oznacza, że ​​chcę uzyskać wynik w AA. To tylko symbolizuje, że fabuła jest narysowana.
Vi.

Cóż .. Uhm .. Miałem na przykład -vo aa w mplayerze. ^^ "(Jutro zapytam mojego przyjaciela, może on pozna dobry. O ile go znam, pozna jeden. :))
Shiki
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.