Pomocou príkazu awk môžete prehliadať súbory a vykonávať určité akcie. Základy tohto príkazu v systéme Linux siahajú až do roku 1977.

Čo je to príkaz awk v systéme Linux?

Linux má skriptovací a programovací jazyk, ktorý môžete použiť na vyhodnocovanie a úpravu súborov. Nazýva sa awk a jeho počiatky siahajú až do roku 1977. Názov je odvodený od mien troch vývojárov: Alfred Aho, Peter Weinberger a Brian Kernighan. Tento nástroj môžete ľahko používať prostredníctvom príkazového riadku alebo SSH (Secure Shell). Podobne ako pri používaní príkazu grep v Linuxe, môžete pomocou príkazu awk vyhľadávať určité vzory v súboroch a ak sú splnené ďalšie podmienky, môžete ich upravovať.

Ako funguje príkaz awk?

Awk používa kombináciu podmienok a inštrukcií. Spustením príkazu prejde súbor riadok po riadku a hľadá určité podmienky. Ak nájde tieto podmienky v riadku, vykoná tam inštrukciu. Ak nie je nastavená žiadna podmienka, inštrukcia sa vykoná v každom riadku. Ak nezadáte inštrukciu, vykoná sa štandardná inštrukcia z riadku zadávania. To znamená, že môžete použiť Linux awk na vyhľadávanie určitých termínov alebo príkladov v súboroch.

Ako vyzerá syntax awk?

Syntax príkazu awk v systéme Linux vyzerá takto:

$ awk [Options] "Operation {Instructions}" [Target file]
shell

Aké možnosti má príkaz awk?

Máte k dispozícii tri možnosti:

  • -F [Oddeľovač]: Táto voľba slúži na nastavenie oddeľovača medzi súbormi. Zvyčajne sa používa jedna medzera.
  • -f [Názov súboru]: Táto voľba slúži na nastavenie súboru, v ktorom chcete spustiť príkaz awk.
  • -v: Túto voľbu použite na pridanie premennej.

Príklady použitia príkazu awk

Aby ste lepšie pochopili, ako môžete používať ask, uvádzame niekoľko príkladov. V tomto prípade používame súbor s názvom example.txt, ktorý obsahuje zoznam miest, krajín a kontinentov v jednotlivých stĺpcoch. Vyzerá takto:

City Country Continent
Washington D.C USA America
Paris France Europe
Hanoi Vietnam Asia
Abuja Nigeria Africa
shell

Ak chcete vygenerovať celý súbor, musíte použiť nasledujúci príkaz:

$ awk "{print $0}" example.txt
shell

Ak však chcete zobraziť len jednotlivé stĺpce, môžete použiť samostatný príkaz. V našom prípade ide o prvý a tretí stĺpec:

$ awk "{print $1, $3}" example.txt
shell

Výsledkom bude nasledujúci výstup:

Washington D.C America
Paris Europe
Hanoi Asia
Abuja Africa
Prejsť na hlavné menu