Portál AbcLinuxu, 6. června 2025 09:30


Dotaz: Vyber jmena pomoci awk

17.11.2008 20:02 Tod
Vyber jmena pomoci awk
Přečteno: 594×
Odpovědět | Admin
Zdravim vsechny,

Mohl by nekdo pomoct s domacim ukolem? Mame za ukol z vypisu ypcat passwd vypsat uzivatelska jmena a login shell, jejich jmeno zacina na novak. Oddelit jmeno a login shell |. Na konci seznamu mam napsat jeste cislo, ktere predstavuje pocet takovyhc uzivatelu, zatim jsem vymyslel toto:

awk 'BEGIN {FS":";OFS=":"}{print $1,$2)' /etc/passwd

ypcat passwd | awk -F| '/novak/'

END '{print NR}'

Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

wamba avatar 17.11.2008 22:33 wamba | skóre: 38 | blog: wamba
Rozbalit Rozbalit vše Re: Vyber jmena pomoci awk
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tady je pro inspiraci "řešení" v perlu

perl -ne ' @a= m/^(novak[^:]*):.*:(\/.*)$/;if (@a) {$i++;print join("|",@a),"\n"};END{print "$i\n"};' < /etc/passwd

a bez perlu :)

cat /etc/passwd|grep ^novak|sed 's/:.*:/|/'|tee /dev/tty|wc -l

Ps. schválně jsem se vyhýbal awk
This would have been so hard to fix when you don't know that there is in fact an easy fix.
20.11.2008 13:34 rubicon
Rozbalit Rozbalit vše Re: Vyber jmena pomoci awk
Taky zkusím (variace na stejné téma, méně písmenek):

sed -rn '/^novak/s/:.*:/|/p' /etc/passwd | tee >(wc -l)
18.11.2008 13:45 chochi | skóre: 29 | Praha
Rozbalit Rozbalit vše Re: Vyber jmena pomoci awk
Odpovědět | | Sbalit | Link | Blokovat | Admin
Coz takhle nejak:
ypcat passwd | awk -F":" 'BEGIN {cnt=0} /^novak/ {cnt++; print $1 "|" $7} END {print cnt}'
PS: jestli je to ukol na FEL, tak tam mi to naslo 44 uzivatelu.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.