skrolle
11-05-2010, 08:11
Hallo zusammen,
ich hätte da mal ne Frage.
Kann man mit dem Befehl sed zwei Sonderzeichen mit Zahlen ersetzen und eine davon hochzählen lassen?
Hintergrund:
Ich habe eine Basisdatei mit Sonderzeichen versehen, diese soll nun mehrmals aktualisiert werden, wobei das Zeichen ~ die Dateianzahl ist und das ZEichen § für jede einzelne Datei von 1 bis 10.000.000 hochgezählt werden soll.
folgendes habe ich in einer Datei stehen
<bla>~TD§</bla>
<bla>~TD§</bla>
<bla>~TD§</bla>
<bla>~TD§</bla>
...
rauskommen soll nun für die erste Datei
<bla>1TD1</bla>
<bla>1TD2</bla>
<bla>1TD3</bla>
<bla>1TD4</bla>
...
für die zweite Datei
<bla>2TD1</bla>
<bla>2TD2</bla>
<bla>2TD3</bla>
<bla>2TD4</bla>
...
Die ~ alleine zu ersetzen habe ich schon.
sed "s/~/$((zaehler))/" $testdatenverz/kleine_Datei.xml > $verbeitungsver/$stringname;
Nun will ich jedoch auch noch das Sonderzeichen $ ersetzen... aber wie?
Allein das hochzählen in dem Befehl sed klappt ja schon nciht, wie soll ich dann beide Ersetzungen in einem BEfehl vornehmen?
Folgenden Code habe ich gebastelt: (nur mit dem §)
sed "s/§/$((zaehler + 1))/" $testdatenverz/kleine_Datei.xml > $verbeitungsver/$stringname;
leider klappt das nicht so ganz, da der zaehler nicht automatisch hochzählt.
sed "s/§/$(($((zaehler + 1))))/" $testdatenverz/kleine_Datei.xml > $verbeitungsver/$stringname;
hat leider auch keine Veränderung gebracht.
Muss man hier ggf. mit awk zusammenarbeiten?
Vorab vielen Dank für Eure Hilfe.
Viele Grüße
skrolle
ich hätte da mal ne Frage.
Kann man mit dem Befehl sed zwei Sonderzeichen mit Zahlen ersetzen und eine davon hochzählen lassen?
Hintergrund:
Ich habe eine Basisdatei mit Sonderzeichen versehen, diese soll nun mehrmals aktualisiert werden, wobei das Zeichen ~ die Dateianzahl ist und das ZEichen § für jede einzelne Datei von 1 bis 10.000.000 hochgezählt werden soll.
folgendes habe ich in einer Datei stehen
<bla>~TD§</bla>
<bla>~TD§</bla>
<bla>~TD§</bla>
<bla>~TD§</bla>
...
rauskommen soll nun für die erste Datei
<bla>1TD1</bla>
<bla>1TD2</bla>
<bla>1TD3</bla>
<bla>1TD4</bla>
...
für die zweite Datei
<bla>2TD1</bla>
<bla>2TD2</bla>
<bla>2TD3</bla>
<bla>2TD4</bla>
...
Die ~ alleine zu ersetzen habe ich schon.
sed "s/~/$((zaehler))/" $testdatenverz/kleine_Datei.xml > $verbeitungsver/$stringname;
Nun will ich jedoch auch noch das Sonderzeichen $ ersetzen... aber wie?
Allein das hochzählen in dem Befehl sed klappt ja schon nciht, wie soll ich dann beide Ersetzungen in einem BEfehl vornehmen?
Folgenden Code habe ich gebastelt: (nur mit dem §)
sed "s/§/$((zaehler + 1))/" $testdatenverz/kleine_Datei.xml > $verbeitungsver/$stringname;
leider klappt das nicht so ganz, da der zaehler nicht automatisch hochzählt.
sed "s/§/$(($((zaehler + 1))))/" $testdatenverz/kleine_Datei.xml > $verbeitungsver/$stringname;
hat leider auch keine Veränderung gebracht.
Muss man hier ggf. mit awk zusammenarbeiten?
Vorab vielen Dank für Eure Hilfe.
Viele Grüße
skrolle