PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Daten aus /etc/passwd lesen



Silver
22-05-2004, 18:08
Hallo!

Ich möchte gerne bei der Datei /etc/passwd alle Benutzer welche einen größere Benutzerid haben als 99 haben denen eine Mail schicken (mittels mail)!

So weit bin ich bis jetzt:
cut -d: -f1,3 /etc/passwd | sort -t: -k,2

Aber wie gehts nun weiter?!? Ich bemerke auch, dass er die Zahlen nicht richtig sortiert!
Bitte helft mir schnell!

mfG

Silver
22-05-2004, 18:32
nein bitte nichts mit awk/sed etc. !
Einfach nur die gnu-tools verwenden und dann mittels dem programm "mail" versenden!

mfG

Hans-Georg Normann
23-05-2004, 11:53
Original geschrieben von Silver
nein bitte nichts mit awk/sed etc. ! Huch, wer hat denn da etwas gegen die Tools die es schon seit Urgrossvaters Zeiten gibt?

Hans

Silver
23-05-2004, 12:54
Original geschrieben von Hans-Georg Normann
Huch, wer hat denn da etwas gegen die Tools die es schon seit Urgrossvaters Zeiten gibt?

Hans

mein Professor ;)


mfG

Blackhawk
24-05-2004, 15:10
awk (besser gawk) ist GNU und sed auch...

Hans-Georg Normann
24-05-2004, 20:42
Ich glaube, awk ist etwas älter als GNU und Linux, so interpretiere ich jedenfalls die man pages

man awk
The original version of UNIX awk was designed and implemented by Alfred Aho, Peter Weinberger, and Brian Kernighan of Bell Laboratories. Brian Kernighan continues to maintain and enhance it.

Paul Rubin and Jay Fenlason, of the Free Software Foundation, wrote gawk, to be compatible with the original version of awk distributed in Seventh Edition UNIX. John Woods contributed a number of bug fixes. David Trueman, with contributions from Arnold Robbins, made gawk compatible with the new version of UNIX awk. Arnold Robbins is the current maintaine
Ich habe leider keine Jahresangaben gefunden. Ich weiß nur, dass ich mir 1986 einen Gulbins (war seiner Zeit das UNIX Handbuch schlechthin) zugelegt hatte. Und da war awk schon als Standardtool beschrieben.

Hans

ThorstenS
25-05-2004, 11:15
@Claudine:
Sehr elegante Lösung: u=${i%%:*} :cool:

Ich finde es sehr schade, dass kaum noch jemand mit awk arbeitet.
Das tool ist in meinen Augen der Oberhammer!
Ich bereue es, dass ich mich nicht schon vor einigen Monaten (sollte ich sagen Jahren ;) damit beschäftigt habe.

Egal was dein Prof dir dazu sagt: schreib auch die awk Lösung mit auf und beschäftige
dich mit awk und natürlich sed.

Denn wenn du mal selbst eine Lösung für dich programmieren willst, bist
du damit sehr schnell am Ziel.

Just my 2 cent

Silver
25-05-2004, 21:07
hmm, hab das Problem folgendermaßen gelöst



mail `cut -f1,3 -d: /etc/passwd | grep ":[0-9][0-9][0-9][0-9]*" | cut -f1 -d: ` < inhalt_von_mail.txt


mfG

Thomas Engelke
26-05-2004, 08:11
Das läßt sich auf


mail `cut -f1,3 -d: /etc/passwd|grep ":\d{4,}"|cut -f1 -d: ` < inhalt_von_mail.txt

kürzen.

TME

ThorstenS
26-05-2004, 09:19
Ich will nicht pedantisch sein, aber bei meinem debian woody grep funktioniert das so noch nicht.
Da müßte es so heißen:

cut -f1,3 -d: /etc/passwd | egrep ':\w{4,}' | cut -f1 -d ':'

Denn d für Digit existiert da noch nicht.

egrep -V
egrep (GNU grep) 2.4.2


Edit:
Ah, ich sehe, dass Claudine genau das gleiche Problem mit \d hat :)