Textfiles per Shell script ändern

U

u2mike

Grünschnabel
Hallo,
ich habe folgendes Problem zu lösen:
in Textfiles (xml-Format) stehen an bestimmter Position Werte welche ich
ändern (vertauschen möchte).
Beispiel:
<BatchNr="1"<F>10</F><F>Y</F><F>00</F><F>720</F><F>705</F> </Batch>
<BatchNr="2"<F>10</F><F>Y</F><F>00</F><F>720</F><F>705</F> </Batch>
<BatchNr="3"<F>10</F><F>Y</F><F>00</F><F>720</F><F>705</F> </Batch>
Hier sind 5 Werte gelistet:
Nr1=10 Nr2=Y Nr3=00 Nr4=720 Nr5=705
Nun möchte ich die letzten drei Werte vertauschen:
z.B.: Wert von Nr5 auf Nr3 ; Nr3 auf Nr4 ; Nr4 auf Nr5

als fixe Parameter weis ich die Positionen welche ich vertauschen muss.
auch wenn ich das File über script ZWEI mal bearbeiten muss:
1. Werte der zu änderden Positionen lesen
2. Neues File erstellen mit geänderten Werten an richtiger Position

nur mit welchem tool ist dass hier am besten zu bewerkstelligen:
sed ? awk ?
bin leider nicht so firm in dieser Sache. Und vielleicht hat jemand von Euch
schon ein ähnliches Problem gehabt.

besten Dank für JEDEN Hinweis!

lg
mike
 
Ich würde dir sed empfehlen. Willst du auch ne Lösung oder nur ein Hinweis?
 
Ich würd eher sagen, das ist ein Fall für awk.
Code:
awk -F '</F>' '{print $1"</F>"$2"</F>"$5"</F>"$3"</F>"$4"</F>"$6}' eingabedatei > ausgabedatei
 

Ähnliche Themen

batch script funktioniert nicht ...brauche hilfe

[Gelöst] Suchen und ersetzen mit Hilfe mehrerer Parameter

Prblem mit zeilenweises auslesen von Datei und schreiben nach mysql

Problem mit HSPA+ Modem Huawei E353 - Installation unmöglich?

Queue für copy Script

Zurück
Oben