problem v awk
Jan Kara
jack na atrey.karlin.mff.cuni.cz
Sobota Květen 8 22:58:32 CEST 1999
> Mam 2 problemy :
> 1.jak mam v tele awk testovat existenci nejakeho adresare ?
> kdyz napisu :
> if ((test ! -d "adresar") ==0) {
> blabla}
> tak mi to neslape(pise mi, ze to neexistuje nikdy)
To je dost pochopitelne, divim se, ze na to awk nehlasi chybu. Spravne
se musi zavolat system - if (system("test ! -d adresar") == 0). Jinak
ten ! bych si v tom prikazu mozna odpustil a negaci resil v awk, ale to je
spise kosmeticka zalezitost.
> 2. v tele awk vyselektuju nejaky pole treba $3.
> chtel bych zjistit, zda se retez, ktery je obsazen v $3
> nachazi v nejakem jinem souboru.
> Da se to nejak udelat primo v tele awk?
Reseni je nekolik - volba zavisi na tom, co je konkretne potreba. Pokud
pouze zjisteni pritomnoti, nemuselo by byt spatnym resenim na to pustit
pres system() grep. Pokud s tim je ale potreba neco netrivialniho dale
delat, bude asi nutno pouzit kombinace getline(), index(), closefile()...
Konkretni implementace - viz man :-).
Honza.
Další informace o konferenci Linux