Commande bash printf

Commande bash printf
En travaillant avec les scripts bash, nous utilisons principalement la commande «echo» pour imprimer n'importe quelle sortie, ce qui est pratique et facile à utiliser et répond à l'exigence la plupart du temps. Mais la simplicité vient avec une limitation; La commande Echo a sa propre limitation lorsqu'il s'agit de formater la sortie, dans ce cas, «printf»Commande joue son rôle.

Le "printf"La commande dans le script bash fonctionne de la même manière"printf ()»Fonctionne dans la langue C. Ce message se concentrera sur le «printf»Commande, sa syntaxe et des exemples qui élaborent davantage l'utilisation de cette commande. Vérifions la syntaxe du «printf" commande:

printf

: Il est facultatif d'attribuer la sortie à une variable.
: Il s'agit d'une chaîne qui peut contenir différents spécificateurs de format tels que «% s», «% b», «% d», «% f» et bombardement
: Les arguments peuvent être n'importe quelle valeur ou variable

Comment utiliser la commande printf dans les scripts bash à l'aide de Vim Editor:

Nous utilisons VIM Editor pour ce guide en raison de sa riche fonctionnalité et de sa facilité d'utilisation. Obtenez VIM sur votre appareil en utilisant:

$ sudo apt install vim

Lancez l'éditeur VIM:

$ vim

Écrivons un programme simple pour imprimer une chaîne à l'aide de «printf»:

#! / bac / bash
printf "Hello Linuxhint"

Pour enregistrer le fichier, appuyez sur le «Esc”Bouton pour changer le mode puis taper «: W Exemple.sh »et puis«Enterrer ”. Ouvrez maintenant une nouvelle fenêtre de terminal et type:

$ BASH Exemple.shot

La commande ci-dessus exécutera le script Le texte d'impression «Hello LinuxHint» comme indiqué ci-dessous:

Maintenant, incluons certains spécificateurs de format:

#! / bac / bash
printf "% s \ n" "Hello Linuxhint"

Dans l'exemple ci-dessus, «% s» indique que l'argument correspondant doit être traité comme une chaîne et «\ n» pour la nouvelle ligne. De même, si nous utilisons «% d», alors l'argument sera traité comme un entier:

#! / bac / bash
printf "% s \ n" "Hello Linuxhint" "en savoir plus" "Linux"

Les trois arguments seront traités comme une chaîne et imprimés dans une nouvelle ligne comme démontré dans la sortie suivante:

Un autre exemple est mentionné ci-dessous pour comprendre l'utilisation de la commande «printf»:

#! / bac / bash
Echo "Entrez votre nom"
Nom de lecture
écho «entrez votre âge»
l'âge de lecture
printf "Votre nom:% s \ nyour Âge:% s \ n" "$ name" "$ age"

«Votre nom:% s \ n votre âge:% ​​s \ n» est le format tandis que «$ name» «$ Âge» sont les arguments. Tandis que «% s» pointant les arguments.

Comment utiliser les spécificateurs de conversion avec la commande printf:

Les spécificateurs de conversion sont des caractères utilisés avec le signe «%» pour indiquer comment traiter les arguments. Vérifions la liste de certains spécificateurs couramment utilisés:

Spécificateur Dépissage
%% Imprime le symbole «%»
% c Prend des arguments en tant que caractère unique
% e et% e Prenez l'argument dans le numéro de point flottant et les impressions en notation exponentielle, % e pour la lettre minuscule et % E pour majuscules
% g et% g Prenez l'argument dans le numéro de point flottant et les impressions en notation normale ou exponentielle
%F Prend l'argument comme des nombres flottants
%d Prend des arguments en tant qu'entiers signés
% u Prend l'argument comme des entiers non signés
% o Prend l'argument comme un numéro octal non signé
% x et% x Prend des arguments en tant qu'entiers hexadécimaux non signés

Élaborons davantage les spécificateurs ci-dessus avec un exemple de bash:

#! / bac / bash
Echo «Entrez un numéro à convertir»
Numéro de lecture
printf "Decimal:% d \ noctal:% o \ nhex:% x \ n" "$ nombre" "$ numéro" "$ numéro"

Comment utiliser les directives de drapeau, de largeur et de précision avec la commande printf:

Les directives de drapeau sont utiles avec une utilisation facultative avec la commande «printf». Les directives de drapeau couramment utilisées sont

  • "-" Laut justifier la sortie
  • «+» Ajoute le signe «+» avec entier
  • «0» ajoute «0» avec un nombre au lieu d'espaces

Les directives de largeur ajoutent de l'espace avec la sortie généralement utilisée après le drapeau. Comprenons-le avec un exemple:

#! / bac / bash
Echo "Entrez votre nom"
Nom de lecture
écho «entrez votre âge»
l'âge de lecture
printf "votre nom et votre âge sont:% 5s% 5d \ n" "$ nom" "Âge"

«% 30s» signifie que l'espace mesure 30 caractères et pour aligner le formulaire de sortie à gauche, utilisez le «-» Signer «% -30s».

La directive de précision se compose du point «.«Suivant par Positive Inder:

#! / bac / bash
printf “%.2f ”2.56473

La sortie serait:

Si le nombre est un entier, la directive de précision ajoutera «0» avant le numéro. Si le nombre est un type de point flottant, la directive de précision spécifiera le nombre de chiffres positifs après le point décimal. Pour la chaîne, il spécifie le nombre de caractères à afficher:

#! / bac / bash
printf “%.2f \ n ”2.468936
printf “%.3d \ n ”10
printf “%.3S \ n ”« Samlinux »

Paramètres échappés de barreaux réduits en barre:

Les paramètres d'échappement de bar, également appelés séquences d'échappement, sont utilisés avec une barre arrière pour formater la chaîne avec la commande «printf». Ces séquences ne se représentent pas elles-mêmes mais interprètent dans d'autres personnages. Certaines séquences d'évasion couramment utilisées sont:

Personnage Description
\\ Imprime le caractère de barre arrière
\ b Imprime le caractère arrière
\ n Imprime la sortie dans une nouvelle ligne
\ r Imprime un retour en chariot (curseur au début de la ligne)
\ t Donne l'espace d'onglet à droite
\ V Donne l'espace d'onglet

Conclusion:

Quand il s'agit d'imprimer quelque chose dans les scripts bash, la commande «echo» est le plus couramment utilisée car elle est facile à utiliser et à retenir. Mais la commande «Echo» a sa limitation. Par conséquent, pour formater correctement la sortie, le «Printf» La commande peut être utilisée. Le «Printf» La commande est livrée avec de nombreuses options pour formater la sortie de la chaîne et même les conversions et la mise en forme des nombres de base. Ce guide comprend soigneusement la fonctionnalité de la commande «printf» dans les scripts bash avec des exemples.