Frage zu sed in Zusammenhang mit group

J

Janine

Eroberer
Hallo Leute,

also ich will aus der /etc/group einen bestimmten user nur löschen,

hab es mit

sed -e "/$gid/s/,$name/ /g"

($gid & $name werden vorher angegeben in dem Fall "video & h")

probiert aber wenn ich jetzt zb in der Gruppe

video:x:33:anh,hugo,h


drin stehen habe löscht er mir mehr als nur den user "h" und zwar sieht die Zeile danach so aus

video:x:33:anh ugo

Also wer mir den genauen sed Befehl sagen kann wäre sehr nett um auch nur genau den user zu löschen aus der zeile.
 
Sowas macht man wirklich lieber nicht mit sed:
Code:
gpasswd -d $USER $GROUP

Wenn doch unbedingt mit sed:
Code:
sed "/$gid/s/,$name\(,\|$\)/\1/"

Code:
echo "video:x:33:anh,hugo,h" | sed "/$gid/s/,$name\(,\|$\)/\1/"
video:x:33:anh,hugo

Auch wenn h nicht am Ende steht geht es:
Code:
echo "video:x:33:anh,h,hugo" | sed "/$gid/s/,$name\(,\|$\)/\1/"
video:x:33:anh,hugo

Falls GNU Sed kannst du -i als Option davorstellen, dann wird es in-situ editiert!
Falls nicht I/O Redirects mittels sed "Ausdruck von oben" < oldfile > newfile

P.S.: Gelöscht! Juhu!
 
Zuletzt bearbeitet:
ja weiss das ist ja aber für mein script deswegen muss ich das mit sed machen :) aber danke hat super geklappt :)
 

Ähnliche Themen

Windows clients können nicht mehr auf lange laufendes System zugreifen

Last mit etc/passwd anzeigen lassen

Mehrere Samba-Gruppen versch. Ordner/Zugangsberechtigungen

wlan: komme nicht ins LAN mit "DWL-G122 rev C1" unter Hardy Heron

Samba PDC (Ubuntu Feisty) lässt keine Logins zu und zeigt Netbios Namen nicht an

Zurück
Oben