AWK

Izvor: Hrvatska internetska enciklopedija
Inačica 410182 od 3. siječanj 2022. u 02:06 koju je unio WikiSysop (razgovor | doprinosi) (Bot: Automatska zamjena teksta (-<!--(.*?)--> +))
(razl) ←Starija inačica | vidi trenutačnu inačicu (razl) | Novija inačica→ (razl)
Prijeđi na navigaciju Prijeđi na pretraživanje

AWK je minijaturni programski jezik<ref>The awk action language is Turing-complete, and can read and write files. In some versions it can open and use network sockets., izvorno www.faqs.org, preslika na web.archive.org, Eric S. Raymond, "The Art of Unix Programming", 2003., pristupljeno 11. kolovoza 2016.</ref> za obradu tekstualnih podataka, uobičajen na Unix/linux operacijskim sustavima. Ime mu je sastavljeno od početnih slova prezimena njegovih triju autora: Aho, Weinberger i Kernighan.

Primjeri[uredi]

Zadani oblik popisa:

-rwxr-xr-x       73 a.out

Ako se želi dobiti popis koji zadovoljava sljedeće uvjete:

  • na popisu se nalaze sve obične datoteke u tekućem direktoriju (one s oznakom -), na popisu se ne smiju nalaziti direktoriji ili specijalne datoteke (oznake d ili c ili bilo koja druga oznaka osim crtice)
  • popis ima tri stupca oblika
    • prvi stupac je širok 10 znakova, čini ga niz od 10 znakova koji opisuju tip datoteke (jedan znak, crtica odnosno -), te nakon toga tri skupa po tri slova koja označuju prava pristupa datoteci
    • drugi stupac je širok 8 znakova, čini ga veličina datoteke u bajtovima, centrirana u desno
    • treći stupac je ime datoteke, centrirano u lijevo

Ovaj popis moguće je dobiti na više načina, možda najkraći je sljedeći:

<syntaxhighlight lang="bash"> ls -al | grep '^-' | awk '{ print $1,$5,$9 }' | xargs printf "%s %8s %s\n" </syntaxhighlight> Objašnjenje:

  • ls - je naredba kojom se dobiva popis datoteka u direktoriju, parametar l daje dugački ispis, bez njega ne bi dobili podatak o veličini datoteke, parametar a daje popis svih datoteka, bez njega ne bi dobili datoteke čije ime počinje s točkom
  • grep - odbacujemo elemente popisa koji nisu obične datoteke
  • awk - biramo prvi, peti i deveti stupac
  • xargs - printf "ne zna" primati ulaz redak po redak, nego samo kao jedan redak, što se rješava xargs naredbom
  • printf se brine za ispis po specifikaciji, centriranje lijevo ili desno itd.

Izbor prvog, petog i devetog stupca iz ulaznih podataka mogao se dobiti i na neke druge načine, ali kako je već navedeno, ovo je možda najkraći i time ujedno najelegantniji način.

Izvori[uredi]

<references group=""></references>

Vanjske poveznice[uredi]


Nedovršeni članak AWK koji govori o računarstvu treba dopuniti. Dopunite ga prema pravilima uređivanja Hrvatske internetske enciklopedije.