Durante la visualizzazione dei numeri o delle variabili che includono numeri float in essi, diversi comandi possono stampare il testo o le variabili come eco, stampa, E printf. Sebbene possiamo mostrare le variabili e i numeri direttamente da tali comandi, tuttavia, l'unico comando che ha alcune funzionalità e capacità extra è il comando printf Questo riguarda il nostro obiettivo.
comando printf
IL printf Il comando è simile alla funzione printf () in lingua C. Ci consente di formattare e stampare gli argomenti.
Sintassi
La sintassi per la scrittura del comando printf in bash è:
Argomenti "String" di stampa
Nel comando printf, dobbiamo prima fornire la stringa in virgole invertite, e quindi possiamo dargli gli argomenti.
Esempio
Prima stampiamo un semplice testo usando il comando printf:
printf "ciao da linuxhint."
Puoi vedere che ha appena stampato la stringa, ma il nome utente e il nome host arrivano subito dopo la stringa.
Per ottenere la stringa in una singola riga, possiamo usare il carattere di Newline '\ n' per avere l'output pulito e chiaro:
printf "Ciao da Linuxhint \ n"
Ora abbiamo un output pulito e chiaro.
Ora, vediamo come fornire gli argomenti per dare a questo comando printf un numero float e arrotondalo.
Per fornire gli argomenti, dobbiamo utilizzare lo specificatore (%s) nella stringa che verrà sostituito dagli argomenti forniti. Per esempio:
printf "Numero utente: %s \ n" 24
Va bene, ora hai compreso l'uso primario e la funzionalità del comando printf. Forniamo un numero galleggiante e vediamo come completare 2 posti decimali.
Direttiva di precisione
Il modificatore di precisione viene utilizzato per arrotondare un numero di galleggiante.
La sintassi per scrivere un modificatore di precisione è quella di fornire il numero di punti decimali che si desidera completare il numero seguito dal punto (.).
"%.2F "
Per completare un numero di galleggiante a 2 punti decimali, è possibile eseguire il comando printf come mostrato di seguito:
printf "%.2f \ n "4.4444
Puoi vedere nello screenshot allegato che il numero “4.4444 "è arrotondato a" 4.44 ”, come desideravamo che fosse.
Allo stesso modo, invece di fornirgli direttamente un numero, possiamo anche dare una variabile qui.
Num = 4.4444
printf "%.2f \ n "$ num
Per fornire più valori:
Num1 = 3.333
Num2 = 4.4444
printf "%.2F %.3f \ n "$ num1 $ num2
Se si desidera ancora utilizzare il comando Echo e completare il numero, in quel caso, devi utilizzare il comando Echo con comando AWK per completare il numero come mostrato di seguito:
Echo "3.333 "| awk 'printf ("%.2f \ n ", $ 1) '
O
Num = 3.333
echo num | awk 'printf ("%.2f \ n ", $ 1) '
Conclusione
Questo post contiene una guida dettagliata e profonda sul comando printf e abbiamo imparato a completare qualsiasi numero per 2 posizioni decimali utilizzando il comando printf. Inoltre, abbiamo provato diversi esempi per avere una solida conoscenza su come utilizzare il modificatore di precisione per completare un numero usando il comando printf. Inoltre, abbiamo imparato a completare qualsiasi numero di galleggiante usando il comando Echo e AWK.