String aus Datei löschen

M

mctimotheus

Jungspund
Hi,


ich habe eine Datei mit Benutzernamen auf meinem OpenSUSE 10.2 System. Hier kann ich mit einem Skript Benutzer hinzufügen, dies geschieht über den Befehl: echo $username >> /etc/datei


Wie kann ich aber einen Benutzer wieder aus der Datei löschen, also quasi die Umkehrung zum oben beschriebenen Befehl? Der Benutzername wird natürlich vorher eingegeben, der gelöscht werden soll.


Danke und liebe Grüße,

MCT
 
Wenn es der Aufbau der Struktur erlaubt (keine doppelte Vorkommnisse, usernamen, die andere enthalten, usw), duerfte wohl
Code:
grep -v "^$username" /etc/datei
das schnellste sein.
 
rikola: da hast du falsch gelesen! so löscht man es nicht aus der Datei!

falls du sed mit GNU extensions hast dann das:
sed -i "/$username/d" /etc/datei
 
Aber es geht auch mit grep:
grep -v $username /etc/datei >> /etc/datei.backup && mv -f /etc/datei.backup /etc/dabei

Jaja, und jetzt bricht die Hoelle ueber mir zusammen, aber es funktioniert!!!!111 :D
 
Aber es geht auch mit grep:
grep -v $username /etc/datei >> /etc/datei.backup && mv -f /etc/datei.backup /etc/dabei
Ach ja, da habe ich eine Kleinigkeit vergessen.
Die Loesung mit sed gefaellt mir jedoch besser, jetzt, da ich sie kenne.
Wobei man den Suchstring vielleicht noch mittels
Code:
sed -i "/^$username$/d" /etc/datei
So stellt man sicher, dass nicht Zeilen geloescht werden, die den String "$username" nur enthalten, zum Beispiel auf einem System mit den Usern rikola, kola, und ola. Dort wuerden ohne die Verfeinerung alle drei geloescht werden, wenn man fuer username=ola einsetzt.
 
Zuletzt bearbeitet:
Aber es geht auch mit grep:
grep -v $username /etc/datei >> /etc/datei.backup && mv -f /etc/datei.backup /etc/dabei

Jaja, und jetzt bricht die Hoelle ueber mir zusammen, aber es funktioniert!!!!111 :D

Ja klar, aber du brauchst die blöde tmp Datei, das gefiel mir nicht.
 
War ja auch nur Spass, was ich mit den vielen Ausrufezeichen verdeutlichen wollte. ;)
Natuerlich ist sed hier besser.
 

Ähnliche Themen

Aura for PHP Konfigurationsproblem

Doppelte Dateien löschen.

[Tcl / Shell] Ändern einer Datei per vi - Änderungsdatum einer Datei erfassen

Zeilen in Datei löschen, ohne sie neu erstellen zu müssen

Afänger braucht Hilfe - /temp ist voll, kde geht nicht, wie weiter ??

Zurück
Oben