Messdaten von absteigender nach aufsteigender Reihenfolge aendern

24/11/2013 - 12:15 von Marcus Frings | Report spam
Hallo,

ich habe hier eine Software, die mir Messdaten in eine Textdatei
schreibt, die nach absteigender Reihenfolge sortiert sind, die ich aber
gerne aufsteigend sortiert hàtte.

Das Format ist dabei immer gleich, im Wesentlichen ist es "$Zahlenwert
(Kommagetrennter Inhalt in runden Klammern), usw." Ein typisches
Beispiel sieht so aus (der Zeilenumbruch ist von mir eingefügt; die
Daten selbst sind nicht umbrochen):

8.89 (d, J = 5.4 Hz, 1H), 7.97 (dd, J = 7.2 Hz, 1.8 Hz, 1H), 7.85 (dd, J
= 8.2 Hz, 5.7 Hz, 2H), 7.71 (d, J = 5.5 Hz, 1H), 7.53-7.41 (m, 3H), 6.15
(dd, J = 5.8 Hz, 1.8 Hz, 1H), 6.09 (d, J = 4.6 Hz, 1H), 4.21-3.89 (m,
3H), 3.84-3.63 (m, 2H), 1.20 (t, J = 7.0 Hz, 3H), 1.07 (t, J = 7.1 Hz,
3H).

So sollte es nach automatischer Umwandlung aussehen:

1.07 (t, J = 7.1 Hz, 3H), 1.20 (t, J = 7.0 Hz, 3H), 3.63-3.84 (m, 2H),
3.89-4.21 (m, 3H), 6.09 (d, J = 4.6 Hz, 1H), 6.15 (dd, J = 5.8 Hz, 1.8
Hz, 1H), 7.41-7.53 (m, 3H), 7.71 (d, J = 5.5 Hz, 1H), 7.85 (dd, J = 8.2
Hz, 5.7 Hz, 2H), 7.97 (dd, J = 7.2 Hz, 1.8 Hz, 1H), 8.89 (d, J = 5.4 Hz,
1H).

Knackpunkt wàre, dass manchmal auch Bereiche wie 7.53-7.41 angegeben
sind; idealerweise würden diese wie in meiner manuellen Sortierung (zur
Not kann ich die aber auch von Hand spàter veràndern, falls das nur mit
Aufwand per Skript lösbar wàre) auch automatisch zu 7.41-7.53 umsortiert
werden.

Da ich mit regulàren Ausdrücken und Skripten auf Kriegsfuß stehe, wàre
ich dankbar, wenn mir hierbei jemand helfen könnte. Ob es Shellskript,
Perl, Python oder was auch immer ist, ist mir im Grunde egal.

(Falls eine andere Newsgroup passender ist, bitte XP+FU'ppen.)

Gruß,
Marcus
"Prioritàt: Sicherstellung des Fremdorganismus zu Analysezwecken.
Alle anderen Belange sekundàr. Besatzung ersetzbar."
 

Lesen sie die antworten

#1 Stefan Enzinger
24/11/2013 - 14:15 | Warnen spam
On 2013-11-24 12:15, Marcus Frings wrote:

ich habe hier eine Software, die mir Messdaten in eine Textdatei
schreibt, die nach absteigender Reihenfolge sortiert sind, die ich aber
gerne aufsteigend sortiert hàtte.



Hier ein naiver Ansatz.

Die Datei "messwerte" wird ausgelesen
cat toSort | sed 's/),/)/g' | sort | tr '' ','

Knackpunkt wàre, dass manchmal auch Bereiche wie 7.53-7.41 angegeben
sind;



Das wird nicht berücksichtigt, es wird nach dem ersten Wert (in dem Fall
7.53) sortiert.

Sind die Werte denn immer mit Komma und immer > 1 ?

Ähnliche fragen