Posts mit dem Label skript werden angezeigt. Alle Posts anzeigen
Posts mit dem Label skript werden angezeigt. Alle Posts anzeigen

GnuPlot 101 - Graph mit Zufallszahlen

Ich möchte einen einfachen Graph mit GNUPLOT ausgeben lassen. Als Zahlenquelle wähle ich Zufallszahlen. Gnuplot erwartet pro Zeile einen Datensatz. Man kann auch andere Formatierungen nutzen, dafür müsste der Befehlssyntax aber erweitert werden. Um eine Liste mit entsprechenden Datensätzen auszugeben, erstelle ich ein kleines Skript, das 100 Zufallszahlen in eine Datei schreibt:

#!/bin/bash
# Dateinamen festlegen
l="random_1"
# Datei loeschen - Fehler unterdruecken
rm $l 2>/dev/null
# 100 Zufallszahlen erstellen
for ((i=0;i<100;i++))
do
echo $RANDOM >>$l
done

Bevor man GnuPlot nutzt, muss man es natürlich installieren (die ersten 2 Befehle sind wichtig):

sudo apt-get install gnuplot
sudo apt-get install gnuplot-doc
sudo apt-get install gnuplott-X11

Nachdem man das Programm mit gnuplot aufruft, kann man Befehle über eine Text-Konsole eingeben. Eine kleine Einführung zu den Befehlen habe ich hier gefunden.

Gestartet werden kann auch direkt über die Linux-shell.
echo 'plot "./random_1"; pause 10'|gnuplot

Oder man startet gnuplot ('gnuplot') und gibt folgendes ein (Achtung, hier habe ich den Befehl durch "with lines" ergänzt. Damit verbindet man die Punkte mit Linien; vgl. Liniendiagram):
plot "./random_1" with lines


Die Graphen können auf vielfältige Weise definiert werden. Diverse Muster stehen zur Auswahl. Eine gute Erklärung findet man auf folgender Seite.

Linux Shell Übungen #3 - Ordner anlegen

Existiert im aktuellen Verzeichnis das Verzeichnis ordner nicht, so soll es angelegt werden. Außerdem soll im Verzeichnis ordner eine Datei dat angelegt werden, nachdem mit cd in das neue Verzeichnis gewechselt worden ist.

a) Nach Abarbeitung der Befehlsfolge, soll das aktuelle Verzeichnis wieder das Ursprungsverzeichnis sein.

test -d ordner || (mkdir ordner ; cd ordner ; touch dat)
 
test -d ordner || { mkdir ordner ; cd ordner ; touch dat ; cd ..;}


b) Wie oben mit folgendem Unterschied: Nach Abarbeitung der Befehlsfolge, soll das aktuelle Verzeichnis  das Verzeichnis ordner sein.

test -d ordner || { mkdir ordner ; cd ordner ; touch dat ;}