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).

Vi.
źródło
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 .

Peter Jaric
źródło
+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?

BloodPhilia
źródło
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.
W tym celu zaznacz „aalib”. | aa-project.sourceforge.net/aalib/aalib_16.html#SEC16
Shiki
@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