Archief - Hulp bij scriptje voor uitlezen data

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Dr. Doezel

Legacy Member
Dag vrienden,

Ik ben bezig met een CFD-simultatieprogramma, en ik moet in een groot aantal punten de resultaten weten. Ik schrijf dus elke iteratie de meetwaarden weg naar een kladblok (monitor-1.out, momitor-2.out,...). En deze ziet er als tussen de lijnen:

================
"Convergence history of Velocity Magnitude on p6h0 (in SI units)"
"Iteration" "Vertex Average Velocity Magnitude"
5510 8.851614
5511 8.8493948
5512 8.8504782
5513 8.8516855
5514 8.8519039
5515 8.8548546
5516 8.856863
===============

Zou er mij iemand een scriptje willen schrijven om de laatste waardes uit "monitor-1.out, monitor-2.out,...,monitor-20.out" in een kladblok te zetten? Met gnuplot kan ik dan zeer gemakkelijk de punten plotten in een grafiekje.

In de kladblok zou ik dus graag hebben:
=======
getal1 (=de laatste waarde uit monitor-1.out, hier dus 8.856863)
getal2 (=de laatste waarde uit monitor-2.out)
...
=======

Welke programmeertaal maakt mij niet, als ik het maar kan compileren en uitvoeren. :D Ik ken eerlijk gezegt nagenoeg niks van programmeren.
Ik heb zelf al rondgezocht of ik dit zelf niet kan maken, maar ik ben daar niet in geslaagd. Ik denk niet dat het veel werk is voor iemand die er iets van kent.

Alvast bedankt :)

Cycloon

Legacy Member
1 of ander unix systeem ter beschikking? Met een bash scriptje is dit gefixed met enkele lijntjes code.

Cycloon

Legacy Member
Zet dit in een gewoon bestandje:

Code:
IFS=' '
for i in monitor-*.out
do
	s=(`tail -n 1 $i`)
	echo ${s[1]}
done > meetwaarden.txt

en roep het dan op vanuit je terminal (als je in de goede directory zit) met:

bash naamscript

Het script zal dan een bestandje maken meetwaarden.txt met alle laatste waarden uit alle bestanden van de vorm monitor-<getal>.out

Uiteraard moet dit script in dezelfde map komen waar je meetgegevens staan.

Dr. Doezel

Legacy Member
Cycloon zei:
Zet dit in een gewoon bestandje:

Code:
IFS=' '
for i in monitor-*.out
do
	s=(`tail -n 1 $i`)
	echo ${s[1]}
done > meetwaarden.txt

en roep het dan op vanuit je terminal (als je in de goede directory zit) met:

bash naamscript

Het script zal dan een bestandje maken meetwaarden.txt met alle laatste waarden uit alle bestanden van de vorm monitor-<getal>.out

Uiteraard moet dit script in dezelfde map komen waar je meetgegevens staan.

Merci merci en nog eens merci. Het werkt :D:D
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan