# Bash : Zeile in Datei aktuallisieren



## Merlin732 (19. Februar 2007)

Hallo,

kann man mit awk oder ähnlichen eine Zeile in einer Datei aktuallisieren?

Konkret: es gibt eine Datei, ich mache `grep datei $kdnr | awk ...`
Ich finde eine Zeile, lese die zu ändernden Werte aus und ändere sie in den lokalen Variablen. 
Aber wie kann ich die Zeile nun wieder in die Datei schreiben und die alte damit überschreiben bzw. die alte Zeile löschen?

MfG 
Lars


----------



## Bullja (20. Februar 2007)

Ich kenne mich mit Bash zwar nicht so richtig aus, aber man könnte es so realisieren:
Die komplette Datei nochmal auslesen und in einen Array oder in einen String speichern und dann während man die Datei ausließt, ändert man die Zeile, die man Aktualisieren möchte.
Nachdem man die Datei ausgelesen hat, löscht man den Inhalt der Datei und schreibt den Array oder den String in die Datei.


----------



## deepthroat (20. März 2007)

Hi.

Das könntest du doch gleich mit awk machen.


```
awk "/$kdnr/"' { /* zeile bearbeiten */ } { print $0;}' datei.dat > datei.dat_neu && \
  mv -f datei.dat_neu datei.dat
```

Gruß


----------

