Pomocí příkazu awk můžete procházet soubory a provádět určité akce. Základy tohoto příkazu systému Linux sahají až do roku 1977.

Co je příkaz awk v systému Linux?

Linux má skriptovací a programovací jazyk, který můžete použít k vyhodnocování a úpravám souborů. Nazývá se awk a jeho počátky sahají až do roku 1977. Název je odvozen od jmen tří vývojářů: Alfred Aho, Peter Weinberger a Brian Kernighan. Tento nástroj můžete snadno používat přes příkazový řádek nebo SSH (Secure Shell). Podobně jako při používání příkazu grep v Linuxu můžete příkaz awk použít k vyhledání určitých vzorců v souborech a pokud jsou splněny další podmínky, lze je upravit.

Jak funguje příkaz awk?

Awk používá kombinaci podmínek a instrukcí. Po spuštění příkazu projde soubor řádek po řádku a hledá určité podmínky. Pokud tyto podmínky v řádku najde, provede tam uvedenou instrukci. Pokud není nastavena žádná podmínka, bude instrukce provedena na každém řádku. Pokud nezadáte instrukci, provede se standardní instrukce z řádku zadání. To znamená, že můžete použít Linux awk k vyhledávání určitých termínů nebo příkladů v souborech.

Jak vypadá syntaxe awk?

Syntaxe příkazu awk v systému Linux vypadá následovně:

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

Jaké možnosti má příkaz awk?

Máte k dispozici tři možnosti:

  • -F [Oddělovač]: Tuto volbu můžete použít k nastavení oddělovače mezi soubory. Obvykle se jedná o jednu mezeru.
  • -f [název souboru]: Tuto volbu můžete použít k nastavení souboru, ve kterém chcete spustit příkaz awk.
  • -v: Tuto možnost použijte k přidání proměnné.

Příklady příkazu awk

Abychom lépe pochopili, jak lze ask používat, uvedeme několik příkladů. V tomto případě používáme soubor s názvem example.txt, který obsahuje seznam měst, zemí a kontinentů v jednotlivých sloupcích. Vypadá takto:

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

Pokud chcete vypsat celý soubor, musíte použít následující příkaz:

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

Pokud však chcete zobrazit pouze jednotlivé sloupce, můžete použít samostatný příkaz. V našem případě se jedná o první a třetí sloupec:

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

Výsledkem bude následující výstup:

Washington D.C America
Paris Europe
Hanoi Asia
Abuja Africa
Přejít do hlavního menu