Hallo,
Am Thu, 31 Mar 2011, Jim Knuth schrieb:
am 31.03.11 21:59 schrieb Gerhard Schromm<gschromm-spam@arcor.de>:
[..]
na ja, da sind schon noch`n paar Sachen drin, die da nicht rein sollen
(ausser das /bin/false). Das ist die komplette passwd von Debian mit
allen User (root, mysql, etc) Es müsste NUR die zeilen mit bspw.
den Mailuser (web10p1) drinbleiben.
Mit awk:
awk 'BEGIN { FS = OFS = ":"; }
$1 ~ /^web10p/ {
$7 = ":userdb_mail=maildir:" $6 "/Maildir";
print;
}' EINGABE> AUSGABE
Das filtert auf User, deren Usernamen mit 'web10p' beginnt. Das
zwischen den // ist eine Erweiterte Regex (ERE in 'man 7 regex'),
alternativ kann man auch Strings (in "") verwenden, und auch weitere
Felder prüfen (die shell z.B.):
$1 ~ /^web(10|8)p/&& ( $7 == "/bin/false" || $7 == "/bin/bash" ) { ... }
Das filtert auf Usernamen, die mit web10p oder web8p beginnen, und die
gleichzeitig /bin/false oder /bin/bash als Shell haben ...