Mit bash Skript bestimmte Werte aus Tabelle lesen

N

naka

Grünschnabel
Hallo!

Ich beschäftige mich erst seit Kurzem mit bash und bin deshalb noch nicht so fit darin. Und nun habe ich schon ein kleines Problem und keine Lösung dazu gefunden:

Gegeben sind 3 Tabellen (Messung0, Messung1 und Messung2) mit x- und y-Werten. Nun muss ich die Steigung zwischen zwei Punkten berechnen. Dabei würde ich die beiden x-Werte festlegen (hier 25 und 40) und die y-Werte sind je nach verwendeter Tabelle unterschiedlich. Am Ende wird dies hier in einen Versuch eingebaut und man bekommt jedes Mal neue Messreihen, also kann ich y nicht festlegen.

Die Steigung berechne ich mit der Formel m=(y(40)-y(25))/40-25.

Ich weiß nicht, wie ich auf die Tabelle zugreifen kann und daraus die y-Werte auslesen kann. Wenn man den Wert für m für alle Tabellen hat, sollten die dann wieder in eine neue Tabelle gespeichert werden. In dieser sollten in der einen Spalte die Nummer der vorigen Tabelle stehen und in der anderen die Steigungen.

Vielen Dank schon mal!
 
Hallo,

wie und in welcher Datenform liegen denn die Tabellen vor?

Es gäbe die Möglichkeiten von Datenbanktabellen, einfachen CSV-Dateien oder in openOffice Calc erstellte Dateien. Hier eine kurze Erklärung der Möglichkeiten:
  1. Datenbanktabellennormale SQL Tabellen in innerhalb einer relationalen Datenbank, wie z. B. MySQL oder sqlite. Letzteres ist portabel, benötigt aber auch wieder eine zusätzliche Software, um auf die Datei zugreifen zu können von der Shell aus.
  2. CSV-Datein: pro Tabelle eine Datei in folgender Form
    Code:
    25;y;40;y;
    Der Zugriff darauf könnte bei etwa 1000 langsam werden, weil diese Form nicht indizierbar ist.
  3. in openOffice: die wohl komplizierste Methode; es gibt Server Bibliotheken zu openOffice bzw. LibreOffice Calc, welche auch von der Shell aus aufrufbar sind.

MFG

derwunner
 
Hallo!
Vielen Dank für die Antwort, ich werde damit mal ein bisschen rumprobieren!
 

Ähnliche Themen

suchen und ersetzen, Format erhalten

Prob :: Mailserver (Postfix / Courier)

Zurück
Oben