Suchen und ersetzen in einer Textdatei

S

steffen01

Grünschnabel
Hallo,
unter Umständen nochmal fast das ganze. Also, ich habe ein Problem. Möglicherweise habe ich das nur überlesen, allerdings habe ich heute hier keine Lösung finden können.
Ich habe eine xml Datei, die sieht in etwa so aus:
<array>
<string>xyz</string>
<string>abc</string>
<string>zhd</string>
</array>
<array>
<string>123</string>
<string>567</string>
<string>987</string>
</array>
<array>
<string>u5g</string>
<string>d5w</string>
<string>mj6</string>
</array>

Jetzt muß ich am Ende eines jeden array's drei Zeilen einfügen, die jeweils anders sind. Immer den gleichen Text habe ich mit sed -e s/..../..../g
sed -e s/\<|\\/array\>/\\t\\t\<string\>mj6\<\\/string\>\\/n/......
schon hin bekommen. Nur leider habe ich den dann in allen array's am Ende stehen. Ich habe auch was gelesen von sed s1/, wobei s1 das erste Vorkommen des Suchwortes sein soll, das quittiert mir das
Terminal aber mit einer Fehlermeldung, sprich die 1 oder 2 oder 3 mag er nicht.

Habe da so einige Ideen wie ich das machen könnte, man könnte die Datei erst einmal in drei einzelne Dateien zerlegen, dort dann die Zeilen einfügen und danach wieder zusammen bauen, z.B. aber hat jemand eine bessere Idee?

Vielen Dank im voraus,
und einen schönen Abend
Steffen
 
Hallo Lord_x,

und danke für den Hinweis. Nur soll das in ein postinst script in ein deb package als shell script, und das mit dem VIM kann ich zwar im VI aber ich habe ehrlich gesagt keine Ahnung wie ich das im script realisieren soll. Werde mir das morgen mal im Büro anschauen, denke aber erst einmal das mir das so noch nicht weiter hilft.
Gruß Steffen
 
Ich brauche Hilfe bei einer Konfigurationsdatei.
So soll es in der Datei apticron.conf aussehen:
CUSTOM_SUBJECT='$SYSTEM: $NUM_PACKAGES package update(s)'
CUSTOM_NO_UPDATES_SUBJECT='$SYSTEM: no updates available'

So sieht es jetzt in der Konfigurationsdatei aus, ein ausschnitt davon:
# CUSTOM_SUBJECT=""

#
#
# CUSTOM_NO_UPDATES_SUBJECT=""

Ich habe es probiert mit sed und bekomme es nicht hin.
Kann mir jemand helfen?
 
was hast du wie probiert?

abgesehen davon hättest Du da durchaus einen neuen Thread aufmachen können...
 
sed -i '/# CUSTOM_SUBJECT=""/c\'CUSTOM_SUBJECT=''$SYSTEM: $NUM_PACKAGES package update(s)'''' /etc/apticron/apticron.conf

Leider habe ich keine erfahrung im umgang mit sed.
Ich habe mir nur ein paar Beispiele angeschaut und es versucht.
 
Ich brauche Hilfe bei einer Konfigurationsdatei.
So soll es in der Datei apticron.conf aussehen:
CUSTOM_SUBJECT='$SYSTEM: $NUM_PACKAGES package update(s)'
CUSTOM_NO_UPDATES_SUBJECT='$SYSTEM: no updates available'

So sieht es jetzt in der Konfigurationsdatei aus, ein ausschnitt davon:
# CUSTOM_SUBJECT=""

#
#
# CUSTOM_NO_UPDATES_SUBJECT=""

Ich habe es probiert mit sed und bekomme es nicht hin.
Kann mir jemand helfen?



Das habe ich probiert:


sed -i '/# CUSTOM_SUBJECT=""/c\'CUSTOM_SUBJECT=''$SYSTEM: $NUM_PACKAGES package update(s)'''' /etc/apticron/apticron.conf

Leider habe ich keine erfahrung im umgang mit sed.
Ich habe mir nur ein paar Beispiele angeschaut und es versucht.
 

Ähnliche Themen

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

CSV Datei mit sed manipulieren/optimieren/ergänzen

Erste Zeile aus Textdatei lässt sich nicht weiterarbeiten

Suchen und Ersetzen mit SED

Array im Dateinamen wird nicht erkannt

Zurück
Oben