String aus Datei löschen

Diskutiere String aus Datei löschen im Shell-Skripte Forum im Bereich Programmieren unter Linux/Unix; Hi, ich habe eine Datei mit Benutzernamen auf meinem OpenSUSE 10.2 System. Hier kann ich mit einem Skript Benutzer hinzufügen, dies geschieht...

  1. #1 mctimotheus, 07.06.2007
    mctimotheus

    mctimotheus Jungspund

    Dabei seit:
    15.05.2007
    Beiträge:
    12
    Zustimmungen:
    0
    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
     
  2. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    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.
     
  3. smg

    smg Regex Fetischist

    Dabei seit:
    20.05.2007
    Beiträge:
    195
    Zustimmungen:
    0
    Ort:
    /home/stephan/
    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
     
  4. musiKk

    musiKk Dr. Strangelove

    Dabei seit:
    30.07.2006
    Beiträge:
    264
    Zustimmungen:
    0
    Ort:
    Leipzig
    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
     
  5. #5 rikola, 08.06.2007
    Zuletzt bearbeitet: 08.06.2007
    rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    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.
     
  6. smg

    smg Regex Fetischist

    Dabei seit:
    20.05.2007
    Beiträge:
    195
    Zustimmungen:
    0
    Ort:
    /home/stephan/
    Ja klar, aber du brauchst die blöde tmp Datei, das gefiel mir nicht.
     
  7. musiKk

    musiKk Dr. Strangelove

    Dabei seit:
    30.07.2006
    Beiträge:
    264
    Zustimmungen:
    0
    Ort:
    Leipzig
    War ja auch nur Spass, was ich mit den vielen Ausrufezeichen verdeutlichen wollte. ;)
    Natuerlich ist sed hier besser.
     
Thema:

String aus Datei löschen

Die Seite wird geladen...

String aus Datei löschen - Ähnliche Themen

  1. Dateien in Unix finden, die mehrere Strings beinhalten

    Dateien in Unix finden, die mehrere Strings beinhalten: Hallo liebe Leute, ich versuche über die Shell unter Unix alle Dateien ausfindig zu machen, die sowohl den SuchstringA als auch den SuchstringB...
  2. Nach Inhalt in Dateien suchen und den String aus Datei löschen

    Nach Inhalt in Dateien suchen und den String aus Datei löschen: Hallo alle miteinander, ich bin auf der Suche nach einer Möglichkeit nach Dateien mit einem bestimmten Inhalt zu suchen. Wenn der String in der...
  3. String/Delimiter in Datei zählen

    String/Delimiter in Datei zählen: Hallo, ich möchte in einer Datei nach einem String oder besser gesagt, in diesem Fall, dem Delimiter '#' suchen und diesen dann zählen....
  4. Hilfe bei bash - Shellscript gesucht: zusammengehörende Strings in Konfigdatei

    Hilfe bei bash - Shellscript gesucht: zusammengehörende Strings in Konfigdatei: Hallo zusammen, bin leider noch kein Skript-Guru, das folgende Problem wird wohl sehr in die Tiefen von substr, split, regulären Ausdrücken...
  5. dateiname ausgeben die zeile/string nicht enthalten

    dateiname ausgeben die zeile/string nicht enthalten: Hallo zusammen, gibt es eine Möglichkeit alle Dateinamen eines Verzeichnisses auszugeben, deren Inhalt einen bestimmten String nicht enhalten....