PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mit `grep` eine bestimmte Zeile löschen



termito
04-03-2003, 19:19
Wie kann ich mit Hilfe von `grep`eine bestimmte Zeile löschen
z.B. alle Zeilen in denen termito vorkommt
mit cat gehts so
# cat test | grep -v termito

Ich möchte aber dass per cronjob täglich eine bestimmte Zeile aus ner Datei wirklich gelöscht wird

micha
04-03-2003, 19:33
Hi,

indem Du die Ausgabe wieder in die Datei leitest:



cat test | grep -v termito > test


Gruß micha

Jasper
05-03-2003, 10:12
Original geschrieben von micha

indem Du die Ausgabe wieder in die Datei leitest:



cat test | grep -v termito > test



das funktioniert so nicht. die datei test wird überschrieben, so dass cat nichts mehr zu lesen hat (bei kleinen files funktioniert das noch wegen buffering).das endergebnis ist eine datei ungefähr so gross wie der lesebuffer von cat. besser ist:

grep -v termito test > tempfile && mv tempfile test

'grep -v' sollte immer 1 zurückliefern, wenn kein fehler aufgetreten ist.

-j

micha
05-03-2003, 11:15
Hi,


Original geschrieben von Jasper
das funktioniert so nicht. die datei test wird überschrieben, so dass cat nichts mehr zu lesen hat (bei kleinen files funktioniert das noch wegen buffering).

Danke für den Hinweis. Ich hab auch zuerst überlegt, eine temporäre Datei zu verwenden, hab dann aber obige Methode genommen, da der Test mit einer Datei erfolgreich war ( die war dann wohl zu klein ;) ).

Gruß micha

termito
05-03-2003, 14:59
Ich dank euch es funktioniert