sed löschen von zeilen

villiboy

villiboy

Mitglied
hi leute,
ich habe folgenden code:

----------------------------------------------------------
#!bin/bash
echo "Bitte zu suchenden Namen eingeben:";
read name

sed -n /$name/p passwd_kopie.txt #ausgeben
sed -e /$name/d passwd_kopie.txt #löschen des eintrages
-----------------------------------------------------------

ich möchte mit diesem skript mittels sed einen eintrag in der passwd-datei finden und den dann löschen. aber irgendwie löscht es mir den eintrag nicht, woran kann das liegen? es wäre nett, wenn mir da jemand helfen könnte!

danke
 
warum willst du das nicht mit userdel machen?
sonst sieh dir die option -i von sed an.
 
weil ich gerade ein buch durch kaue und ich das eben mal probiert habe. aber was soll mir die option -i bringen? die fügt ja nur einen text ein und löscht ihn nicht, oder?
ich möchte den gefundenen eintrag in meiner kopie löschen und das geht doch mit der option -d oder nicht?
 
Bist Du bei Deinem Buch schon beim man-Befehl? Der hilft Dir fast immer.
 
du kannst es entweder so machen
Code:
sed -e /$name/d passwd_kopie.txt > passwd_kopie.neu
oder so
Code:
sed -i /$name/d passwd_kopie.txt
 
ok, dann probier ich das mal, merci..
sag dann bescheid ob das so geht aber wieso er mir das in zwei zeilemn nicht nimmt ist doch schon komisch oder?
 
Hallo
Schnellkurs:
sed -i -e "/$VAR/d" input printet alle Zeilen welche nicht den Inhalt von $VAR enthalten aus.
Die Option -i gibt es nur bei GNU sed.
Die arbeitet am Orginal. -> fast wie die perl -i
sed -i -n -e "/$VAR/!p" input
Macht das auch, nur dass hier mit Negation ! und p statt d gearbeitet wird dafür muss noch -n gesetzt werden.

Dur brauchst hier zur Sicherheit " damit die VAR. expandiert wird.

Gruß Wolfgang
 
alles klar, jetzt hab ich es ....
danke für euere hilfe!!

merci
 

Ähnliche Themen

Hilfe für ein shell script

Textdatei filtern und löschen mit grep /sed

Port generieren, wenn nicht dann

Automatisierung via Netzwerk funktioniert nicht richtig

bitte um hilfe bei: Logdatei mit "sed" anpassen

Zurück
Oben