zeile einlesen und in 2.Datei löschen

M

manni2x

Grünschnabel
Hallo,
wie immer training on the job.

Ich will aus einer Datei Usernamen einlesen und in der 2.Datei die Zeile die mit diesem Namen anfängt löschen.
Beispiel :
for user in `cat $USER_FILE`
do
sed -e /$user/d datei_alt > datei_neu

liest zwar alle Namen löscht aber nur den letzten
 
Hallo
Das ist ja kein Wunder, da du ja jedesmal die datei_neu überschreibst und nur der letzte User wegegelassen wird.(Quelle ist unverändert)
Entweder du hast GNU sed, dann verwende die Option -i und die Orginaldatei wird verändert.
Oder du musst hinter dem sed den Inhalt von datei_neu in datei_alt schreiben, bzw verschieben.
Code:
sed -e /$user/d datei_alt > datei_neu && [b]cat datei_neu >datei_alt[/b]

Gruß Wolfgang
 

Ähnliche Themen

Zugriff Ubuntu 16.04. auf Freigabe 18.04. LTS nicht möglich

2 Zeilen aus einer txt auslesen

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

Prblem mit zeilenweises auslesen von Datei und schreiben nach mysql

Sed: Bestimmtes Feld einer "Zeile mit mehreren Feldern" ergänzen

Zurück
Oben