Portál AbcLinuxu, 26. dubna 2024 05:29


Dotaz: uloha do skoly v awk

23.8.2006 18:00 worwan | skóre: 6 | blog: worwan
uloha do skoly v awk
Přečteno: 103×
Odpovědět | Admin
Mam za ukol v awk napsat programek pwck. Kontroluje passwd a shadow, unikatnost usernamu, spravny pocet polozek, existenci homu apod. (man pwck) Uz jsem si to promyslel, awk uz mam docela prostudovane, ale zatim jsem nenarazil na moznost jak :

1) reagovat na uzivatele ( jenom silene pres system(read promenna; a dal ani nechtejte vedet :)..proste hnus - najdu duplicitu v username -> ptam se jestli chce uzivatel smazat radek.

2) nebo kdyz pwck kontroluje existenci homu. Kdybych mohl jednoduse udelat toto..
$6 je v passwd adresar home
{ret=system("cd $6");if (ret) print "adresar $6 existuje" }
coz nemuzu..nevim jak tomu shellu co se pousti funkci system predat hodnotu z awkcka.

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

Odpovědi

23.8.2006 18:41 Jan Včelák | skóre: 28 | blog: Fcelda
Rozbalit Rozbalit vše Re: uloha do skoly v awk
Odpovědět | | Sbalit | Link | Blokovat | Admin

No, tak jsem to musel vyzkouset, protoze me to taky zajimalo - tohle by mohlo napovědět ;)

getent passwd | awk -F : '{ if ($4 == 2000) { system("du -h -s "$6); } }'
23.8.2006 19:10 worwan | skóre: 6 | blog: worwan
Rozbalit Rozbalit vše Re: uloha do skoly v awk
Dik moc...:) funguje to..dokonce funguje i
cat /etc/passwd | awk -F: '{ex=system("grep "$4" /etc/group")...atd'
coz zjisti zas neco jineho :)..kazdy asi vi co :)
23.8.2006 18:59 Tomáš Honzák | skóre: 19 | Praha
Rozbalit Rozbalit vše Re: uloha do skoly v awk
Odpovědět | | Sbalit | Link | Blokovat | Admin
ad 1) vstup se da nacist pomoci getline a jako vstupni soubor se pouzije /dev/stdin
 getline vstup < "/dev/stdin"
ad 2) nevim proc bys nemohl ? bez velkeho premejsleni jsem zkusil tohle:
 awk -F : ' { 
      dir = $6; 
      exists = system ("test -d " dir); 
      if ( exists == 0 ) { print dir " exists";} 
      else { print dir " does not exist" ;} 
  }' /etc/passwd
a docela mi to funguje ;-)
Quork!
23.8.2006 19:14 worwan | skóre: 6 | blog: worwan
Rozbalit Rozbalit vše Re: uloha do skoly v awk
jj..dik :)...predchozi prispevek uz pomohl s 2)..

a rozhodne dekuju za 1) :)...jsem to sice pred chvili vyzkousel i tak..ale aspon vidim, ze to je asi nejlepsi reseni :).

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.