Re: (OT) Hilfe zu sed?
Hallo,
Am Fri, 01 Apr 2011, Jim Knuth schrieb:
>am 01.04.11 02:54 schrieb David Haller <lists@dhaller.de>:
>>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
[..]
>danke. Kann awk auch mit Wildcards arbeiten, so z.B.:
>
>$1 ~ /^web*p*/&&
>
>Also das Alles mit web7p1, web8p4 etc. beachtet wird
Warum Wildcards (Globs), wenn du Regex verwenden kannst?
awk 'BEGIN { FS = OFS = ":"; }
$1 ~ /^web[0-9]+p[0-9]+$/ {
$7 = ":userdb_mail=maildir:" $6 "/Maildir";
print;
}' EINGABE> AUSGABE
Das sollte noch genauer deinem Bedarf entsprechen, das vor und nach
dem 'p' dürfen nur noch Ziffern (jew. mindestens eine) sein. Du
solltest dich mal mit Regexen beschäftigen, man 7 regex ist ein
Überblick, aber IIRC kein guter Einstieg. Mir fällt grad keine
"Anfänger" Doku ein ... Ah, doch:
http://selflinux.org/selflinux/html/regex.html ist auf Deutsch und mit
vielen Beispielen.
HTH,
-dnh
--
just had a great phone call from a user
Her : How is it you always maintain a sense of humour?
Me : Because I'm completely insane.
Her : ...yyyyyes. Yes, that would explain it. Bye! -- Jim
Reply to: