ich habe hier ne wirklich billige Aufgabe. Ich möchte alle
Usernamen aus der /etc/passwd ausgegeben haben ohne den
Schnulli dahinter.
So siehts z.B. aus:
Code: Alles auswählen
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
Code: Alles auswählen
sync
games
man
lp
mail
news
uucp
proxy
Mein Problem ist, das mein sed irgendwie merkwürdig reagiert. Laut eines
Tutorials sollte folgender Befehl (gib alles aus was mit alphanumerischem Zeichen beginnt):
Code: Alles auswählen
sed -n -e '/^\w/p' /etc/passwd
Befehl - auch wenn er Schwachsinn ist (Gib alles aus was alphanumerisch
oder numerisch beginnt) - sollte das gleiche tun:
Code: Alles auswählen
sed -n -e '/^(\d|\w)/p' /etc/passwd
dass ich die gewünschte Ausgabe erhalte wenn ich alle Sonderzeichen escape:
Code: Alles auswählen
sed -n -e '/^\(\d\|\w\)/p' /etc/passwd
SUCHT ER GENAU DAS SONDERZEICHEN und interpretiert es nicht mehr als STEUERZEICHEN.
Also Grundsatzfrage:
Was bedeutet jetzt ODER?
Das hier:
Code: Alles auswählen
|
Code: Alles auswählen
\|
Kann ich sed mittels Parameter das irgendwie beibringen? So komm ich irgendwie
gar nicht weiter.
Sorry für das lange Elend.