String aus Datei löschen

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von mctimotheus, 07.06.2007.

  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. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. 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.
     
  4. 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
     
  5. 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
     
  6. #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.
     
  7. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  8. 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.
     
  9. 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. 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...
  2. 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....
  3. 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...
  4. 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....
  5. sed: String in Datei dynamisch erweitern.

    sed: String in Datei dynamisch erweitern.: Hallo. Ich habe mehere Dateien, welche eine Zeile mit "ID = 123" enthalten. Diese Zeile muss geändert werden. Die angegebene ID soll immer auf...