GNU/Linux >> Znalost Linux >  >> Linux

awk:příkaz nenalezen

Příkaz awk provádí porovnávání vzorků se soubory. Je založen na programovacím jazyce AWK. Za klíčovým slovem awk následuje vzor, ​​akce, která má být provedena, a název souboru. Akce, která má být provedena, je uvedena ve složených závorkách. Vzor a akce, která se má provést, by měly být specifikovány v jednoduchých uvozovkách. Pokud není vzor zadán, akce se provede se všemi vstupními daty; pokud však akce není zadána, vytiskne se celý řádek. Příkaz awk lze spustit z příkazového řádku nebo ze souboru skriptu awk.

Příkaz awk lze použít ke zpracování textových souborů různými způsoby, jako je extrahování textu, který odpovídá určitému vzoru; odstranění textu, který odpovídá určitému vzoru; přidání textu odpovídající určitému vzoru; a mnohem více.

Syntaxe

Syntaxe příkazu awk je:

# awk [options] ['patterns {actions}'] {file names}

Pokud při spouštění příkazu awk narazíte na níže uvedenou chybu:

 

můžete zkusit nainstalovat níže uvedený balíček podle vaší volby distribuce:

Distribuce OS Příkaz
OS X brew install awk
Debian apt-get install gawk
Ubuntu apt-get install gawk
Alpine apk přidat gawk
Arch Linux pacman -S gawk
Kali Linux apt-get install gawk
CentOS yum install gawk
Fedora dnf install gawk
Raspbian apt-get install gawk

Příklady příkazů awk

1. Vytiskněte pátý sloupec (neboli pole) v souboru odděleném mezerou:

# awk '{print $5}' filename

2. Vytiskněte druhý sloupec řádků obsahujících „foo“ do souboru odděleného mezerami:

# awk '/foo/ {print $2}' filename

3. Vytiskněte poslední sloupec každého řádku v souboru a jako oddělovač polí použijte čárku (místo mezery):

# awk -F ',' '{print $NF}' filename

4. Sečtěte hodnoty v prvním sloupci souboru a vytiskněte součet:

# awk '{s+=$1} END {print s}' filename

5. Vytiskněte každý třetí řádek počínaje prvním řádkem:

# awk 'NR%3==1' filename

6. Vytiskněte různé hodnoty podle podmínek:

# awk '{if ($1 == "foo") print "Exact match foo"; else if ($1 ~ "bar") print "Partial match bar"; else print "Baz"}' filename

7. Vytiskněte všechny řádky, kde se hodnota 10. sloupce rovná zadané hodnotě:

# awk '($10 == value)'

8. Vytiskněte všechny řádky, jejichž hodnota 10. sloupce je mezi min a max:

# awk '($10 >= min_value && $10 <= max_value)'


Linux
  1. ifrename:příkaz nenalezen

  2. nc:příkaz nenalezen

  3. netstat:příkaz nenalezen

  1. kubectl:příkaz nenalezen

  2. tvservice:příkaz nenalezen

  3. lspci:příkaz nenalezen

  1. rm:příkaz nenalezen

  2. mv:příkaz nenalezen

  3. ln:příkaz nenalezen