Ako používať príkaz awk v systéme Linux na vyhodnocovanie súborov
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]shellAké 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 AfricashellAk chcete vygenerovať celý súbor, musíte použiť nasledujúci príkaz:
$ awk "{print $0}" example.txtshellAk 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.txtshellVýsledkom bude nasledujúci výstup:
Washington D.C America
Paris Europe
Hanoi Asia
Abuja Africa