Guten morgen zusammen,
habe ja hier schon viel über die Programmiersprache sed gelernt nur bin ich nun mal wieder mit meinem latein am Ende.
Habe mir meinen Text nun schön zusammen geschrieben.
Datei dieht nun so aus:
Pizzeria xy
bahnhofsr. 15
12345
berlin
0,0 km
restaurant xy
westerbachstrasse 125
12345
berlin
0,1 km
Ich möchte nun nach jedem km eine zeile einfügen und ab der ersten von 1 an runterzählen.
Mit sed habe ich auch etwas geschrieben das mir eine zeile einfügt und und ein bestimmten Wert reinschreibt.
Nun möchte ich aber das nach dem ersten gefunden km die 1 steht, dann die 2 usw.
Dachte da an eine kombination aus sed und schleife die km sucht und danach hochzählt. wie könnte man so was realisieren.
Mit einem zähler etwa so, aber das klappt nicht.
Aber so klappt das nicht, mist. Hat jemand vielleicht eine bessere Idee oder entdeckt den Fehler.
Gruss FlyingT
habe ja hier schon viel über die Programmiersprache sed gelernt nur bin ich nun mal wieder mit meinem latein am Ende.
Habe mir meinen Text nun schön zusammen geschrieben.
Datei dieht nun so aus:
Pizzeria xy
bahnhofsr. 15
12345
berlin
0,0 km
restaurant xy
westerbachstrasse 125
12345
berlin
0,1 km
Ich möchte nun nach jedem km eine zeile einfügen und ab der ersten von 1 an runterzählen.
Mit sed habe ich auch etwas geschrieben das mir eine zeile einfügt und und ein bestimmten Wert reinschreibt.
Code:
sed '/km/a\1
Nun möchte ich aber das nach dem ersten gefunden km die 1 steht, dann die 2 usw.
Dachte da an eine kombination aus sed und schleife die km sucht und danach hochzählt. wie könnte man so was realisieren.
Mit einem zähler etwa so, aber das klappt nicht.
Code:
#!/bin/sh
I=$ (sed '/km/a\1) #möchte km in eine Variable speichern
I=1
while test $I -le 10 #schleife auf 10 setzten
do
I=`expr $I + 1 #immer 1 dazu addieren und mit sed nach dem jeweilige km
erst 1 dann 2 usw. hinschreiben
done
Aber so klappt das nicht, mist. Hat jemand vielleicht eine bessere Idee oder entdeckt den Fehler.
Gruss FlyingT