# Comando awk su Linux: come valutare i file

Con il comando awk sfogliate accuratamente i file dando loro istruzioni per eseguire determinate azioni. La base di questo [comando di Linux](https://www.ionos.it/digitalguide/server/configurazione/i-comandi-principali-di-linux-una-spiegazione/ "I comandi principali di Linux: una spiegazione") risale al 1977.

## Cos’è il comando awk di Linux?

[Linux](https://www.ionos.it/digitalguide/server/know-how/linux-lalternativa-conveniente-a-windows/ "Linux, l’alternativa conveniente a Windows") dispone di un linguaggio di scripting e programmazione, awk, con il quale è possibile **valutare e modificare i file**. Questo linguaggio esiste dal 1977 e il suo nome risale ai tre sviluppatori Alfred Aho, Peter Weinberger e Brian Kernighan. Lo strumento si utilizza tramite la riga di comando o [SSH (Secure Shell)](https://www.ionos.it/digitalguide/server/tools-o-strumenti/ssh/ "SSH"). In maniera analoga al [comando grep di Linux](https://www.ionos.it/digitalguide/server/configurazione/linux-comando-grep/ "Linux: comando grep") e con l’aiuto del comando awk, nei file vengono ricercati determinati schemi fissi per poi essere modificati automaticamente in base a determinati parametri al verificarsi di determinate circostanze.

## Come funziona il comando awk?

Il comando awk utilizza una **combinazione di condizioni e istruzioni**. Quando viene eseguito, scorre il rispettivo file riga per riga e controlla ogni nuova riga alla ricerca della condizione definita. Se questa è presente per la riga corrente, viene eseguita l’istruzione corrispondente. Se non è stata memorizzata alcuna condizione, l’istruzione viene eseguita per ogni singola riga. Se non viene memorizzata alcuna istruzione, viene eseguita solo l’istruzione standard della riga di input. Ad esempio, in Linux è possibile utilizzare awk per ricercare nei file determinati termini o schemi.

## Come si presenta la sintassi del comando awk?

La sintassi del comando awk di Linux è la seguente:

```shell
$ awk [opzioni] "condizione {istruzioni}" [file di output]
```

## Quali sono le opzioni del comando awk su Linux?

Sono possibili tre opzioni:

- **-F \[separatore\]**: con questa opzione specificate il separatore di un file. Il valore predefinito è uno spazio.
- **-f \[nome del file\]**: questa opzione specifica il file in cui viene eseguito il comando awk.
- **-v**: questa opzione viene utilizzata per aggiungere una variabile.

## Esempio per il comando awk

Per aiutarvi a capire come utilizzare awk, vi mostreremo il suo funzionamento con un semplice esempio. Per farlo, utilizziamo un semplice file chiamato *esempio.txt*, che contiene un elenco di città, paesi e continenti in singole colonne. Il risultato si presenta così:

```shell
Città Paese Continente
Berlino Germania Europa
Parigi Francia Europa
Hanoi Vietnam Asia
Abuja Nigeria Africa
```

Se ora desiderate visualizzare l’intero file, utilizzate il comando seguente:

```shell
$ awk "{print $0}" esempio.txt
```

La cosa si fa più interessante se decidete di visualizzare solo alcune colonne. Nel nostro esempio, la prima e la terza:

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

In questo caso si otterrà:

```none
Berlino Europa
Parigi Europa
Hanoi Asia
Abuja Africa
```


This is a markdown version of: [https://www.ionos.it/digitalguide/server/configurazione/comando-awk-su-linux/](https://www.ionos.it/digitalguide/server/configurazione/comando-awk-su-linux/) for AI/LLM consumption.