Ricerca nel sito web

5 modi utili per eseguire operazioni aritmetiche nel terminale Linux


In questo articolo, ti mostreremo vari modi utili per eseguire operazioni aritmetiche nel terminale Linux. Alla fine di questo articolo imparerai diversi modi pratici di base per eseguire calcoli matematici dalla riga di comando.

Iniziamo!

1. Utilizzo di Bash Shell

Il primo e più semplice modo per eseguire calcoli di base sulla CLI di Linux è utilizzare le doppie parentesi. Ecco alcuni esempi in cui utilizziamo i valori memorizzati nelle variabili:

ADD=$(( 1 + 2 ))
echo $ADD
MUL=$(( $ADD * 5 ))
echo $MUL
SUB=$(( $MUL - 5 ))
echo $SUB
DIV=$(( $SUB / 2 ))
echo $DIV
MOD=$(( $DIV % 2 ))
echo $MOD

2. Utilizzo del comando expr

Il comando expr valuta le espressioni e stampa il valore dell'espressione fornita sullo standard output. Esamineremo diversi modi di utilizzare expr per eseguire semplici calcoli, fare confronti, incrementare il valore di una variabile e trovare la lunghezza di una stringa.

Di seguito sono riportati alcuni esempi di esecuzione di semplici calcoli utilizzando il comando expr. Nota che molti operatori necessitano di escape o virgolette per le shell, ad esempio l'operatore * (vedremo più in dettaglio il confronto delle espressioni).

expr 3 + 5
expr 15 % 3
expr 5 \* 3
expr 5 – 3
expr 20 / 4

Successivamente, tratteremo come effettuare confronti. Quando un'espressione restituisce false, expr stamperà il valore 0, altrimenti stamperà 1.

Diamo un’occhiata ad alcuni esempi:

expr 5 = 3
expr 5 = 5
expr 8 != 5
expr 8 \> 5
expr 8 \< 5
expr 8 \<= 5

Puoi anche utilizzare il comando expr per incrementare il valore di una variabile. Dai un'occhiata al seguente esempio (allo stesso modo puoi anche diminuire il valore di una variabile).

NUM=$(( 1 + 2))
echo $NUM
NUM=$(expr $NUM + 2)
echo $NUM

Vediamo anche come trovare la lunghezza di una stringa utilizzando:

expr length "This is linux-console.net"

Per ulteriori informazioni, in particolare sul significato degli operatori sopra indicati, consultare la pagina man expr:

man expr

3. Utilizzando il comando bc

bc (Basic Calculator) è un'utilità da riga di comando che fornisce tutte le funzionalità che ti aspetti da una semplice calcolatrice scientifica o finanziaria. È particolarmente utile per eseguire calcoli in virgola mobile.

Se il comando bc non è installato, puoi installarlo utilizzando:

sudo apt install bc   #Debian/Ubuntu
sudo yum install bc   #RHEL/CentOS
sudo dnf install bc   #Fedora 22+

Una volta installato, puoi eseguirlo in modalità interattiva o non interattiva passandogli argomenti: esamineremo entrambi i casi. Per eseguirlo in modo interattivo, digita il comando bc sul prompt dei comandi e inizia a fare alcuni calcoli, come mostrato.

bc 

I seguenti esempi mostrano come utilizzare bc in modo non interattivo sulla riga di comando.

echo '3+5' | bc
echo '15 % 2' | bc
echo '15 / 2' | bc
echo '(6 * 2) - 5' | bc

Il flag -l viene utilizzato per la scala predefinita (cifre dopo il punto decimale) fino a 20, ad esempio:

echo '12/5 | bc'
echo '12/5 | bc -l'

4. Utilizzo del comando Awk

Awk è uno dei programmi di elaborazione testi più importanti in GNU/Linux. Supporta gli operatori aritmetici di addizione, sottrazione, moltiplicazione, divisione e modulo. È utile anche per eseguire calcoli in virgola mobile.

Puoi usarlo per fare calcoli di base come mostrato.

awk 'BEGIN { a = 6; b = 2; print "(a + b) = ", (a + b) }'
awk 'BEGIN { a = 6; b = 2; print "(a - b) = ", (a - b) }'
awk 'BEGIN { a = 6; b = 2; print "(a *  b) = ", (a * b) }'
awk 'BEGIN { a = 6; b = 2; print "(a / b) = ", (a / b) }'
awk 'BEGIN { a = 6; b = 2; print "(a % b) = ", (a % b) }'

Se sei nuovo a Awk, abbiamo una serie completa di guide per iniziare a impararlo: Impara lo strumento di elaborazione del testo Awk.

5. Utilizzo del comando fattore

Il comando factor viene utilizzato per scomporre un numero intero in fattori primi. Per esempio:

factor 10
factor 127
factor 222
factor 110  

È tutto! In questo articolo, abbiamo spiegato vari modi utili per eseguire operazioni aritmetiche nel terminale Linux. Sentiti libero di porre domande o condividere eventuali pensieri su questo articolo tramite il modulo di feedback sottostante.