Fonction Bash printf : 7 exemples pour Linux

Fonction Bash printf : 7 exemples pour Linux

Si vous utilisez le shell Bash depuis un certain temps, vous savez probablement comment imprimer des chaînes dans le terminal Linux à l'aide de la commande echo. La commande printf, cependant, rend l'impression de texte avec un formatage spécifique beaucoup plus facile.





Aujourd'hui, nous allons apprendre à utiliser la fonction printf afin d'améliorer nos compétences en script Bash.





Qu'est-ce que la fonction Bash printf ?

Comme son nom l'indique, printf est une fonction qui imprime des chaînes de texte formatées. Cela signifie que vous pouvez écrire une structure de chaîne (le format) et la remplir plus tard avec des valeurs (les arguments).





Si vous connaissez les langages de programmation C/C++, vous savez peut-être déjà comment fonctionne printf. Printf dans le shell Bash est très similaire, mais il présente quelques petites différences.

Apprendre encore plus: Meilleurs sites pour démarrer avec la programmation C++



Comment utiliser printf dans le shell Bash

La syntaxe de base pour printf est :

printf format [argument]

Printf imprimera le format chaîne lors de la mise en œuvre fuites ( ) et directives ( % ) grâce à l'utilisation de arguments . Notez la sortie de la commande suivante :





$ printf 'Hello, %s' world
Hello, world

Printf a pris le monde argument et a remplacé le %s caractère dans la chaîne spécifiée avec lui.

Vous remarquerez peut-être qu'après la sortie, Bash ne crée pas de nouvelle ligne pour vous. Contrairement à la commande echo, printf ne supposera pas que vous voulez une nouvelle ligne après l'impression de la sortie. Ainsi, vous devrez utiliser le nouveau caractère de ligne dans chaque cas.





Pour imprimer une chaîne puis passer à une nouvelle ligne, tapez printf 'Bonjour, monde ' .

Hello, world

Il est important de garder à l'esprit que printf tentera de réutiliser le format pour tous vos arguments. Vous pouvez utiliser cela à votre avantage, mais si vous ne faites pas attention, vous pouvez vous retrouver avec des résultats comme celui-ci :

$ printf 'My name is %s ' Jordan Gloor
My name is Jordan My name is Gloor

Vous devez également savoir que si un argument est manquant, printf interprétera toutes les directives comme 0 (pour un nombre) et nul (pour une chaîne).

$ printf 'Hello, %s.'
Hello, .

Maintenant que vous savez comment fonctionnent les scripts Bash avec printf sous Linux, vous êtes prêt à commencer à l'utiliser dans vos commandes.

Exemples d'impression Linux Bash

Printf propose de nombreux spécificateurs de format que vous pouvez utiliser dans vos scripts. Mais aujourd'hui, nous ne couvrirons que quelques-uns communs pour la fonction.

1. Formater la sortie avec une chaîne

Pour formater la sortie avec des chaînes de texte, utilisez le %s directif.

$ printf '%s is one of the largest online %s.' MUO 'technology publications'
MUO is one of the largest online technology publications.

2. Formater la chaîne de sortie avec des décimales

Pour formater une chaîne avec un entier, vous pouvez utiliser le %ré directive pour un nombre décimal signé.

$ printf 'MUO was founded in %d.' 2007
MUO was founded in 2007.

Notez que si vous souhaitez utiliser une décimale non signée dans la sortie, vous devrez utiliser le % vous directive à la place.

comment vérifier gpu windows 10

En rapport: Que signifie « Bash » sous Linux ?

3. Sortir des fonctions mathématiques à l'aide de printf

Le formatage des fonctions mathématiques avec la commande printf est simple. Placez simplement votre expression à l'intérieur de doubles parenthèses comme vous le faites normalement dans Bash et spécifiez l'expression dans la liste des arguments.

$ printf '1 + 1 is %d' $((1+1))
1 + 1 is 2

4. Formater les nombres hexadécimaux

Si vous devez formater un nombre hexadécimal, utilisez % X pour les minuscules et % X pour les majuscules.

$ printf %X 1000
3E8C

Pour imprimer la date et l'heure actuelles, vous pouvez combiner printf avec le Date commande et passez les directives suivantes.

$ printf '%(%m-%d-%Y %H:%M:%S)T' $(date +%s)
03-26-2021 15:27:57

Vous pouvez voir les spécificateurs de format pour le mois, le jour, l'année, l'heure, la minute et la seconde dans la sortie susmentionnée.

6. Formater des chaînes avec des caractères Unicode

Pour imprimer des caractères Unicode avec printf, utilisez le vous escape pour Unicode 16 bits et U pour Unicode 32 bits.

Par exemple, vous pouvez imprimer le droits d'auteur symbole avec la commande suivante :

$ printf 'u00A9'
©

7. Ajouter un espacement à la sortie

Vous pouvez formater vos chaînes avec espacement en définissant, avant le spécificateur de directive, un nombre minimal de caractères imprimés. Les caractères inutilisés seront remplis d'espaces.

Par exemple, taper printf '%s:%5d ' 'Valeur 1' 25 'Valeur 2' 120 affichera :

Value 1: 25
Value 2: 120

Les %5d Le spécificateur de format dans la sortie indique que la chaîne formatée contiendra un minimum de cinq caractères. Comme 25 n'a que deux chiffres, des espaces sont ajoutés aux caractères restants.

Si vous passez un nombre négatif comme largeur, la directive sera justifiée à gauche au lieu d'être justifiée à droite.

$ printf '%-10s: %d ' 'Circles' 25 'Boxes' 120
Circles : 25 Boxes : 120

Si vous voulez rendre la largeur variable, vous pouvez passer un astérisque au lieu d'un nombre, et printf utilisera le prochain nombre qu'il trouvera dans la liste d'arguments.

$ printf '%*s: %d ' -10 'Circles' 25 -10 'Boxes' 120
Circles : 25 Boxes : 120

En rapport: Tout ce que vous devez savoir sur les boucles Bash For sous Linux

Apprendre la commande printf de Linux

Avec la commande printf dans votre ceinture utilitaire de script Bash, vous êtes prêt à commencer à imprimer des chaînes complexes et variables dans votre terminal. Lorsque vous développez vos scripts Bash, il est important de vous assurer que vous travaillez dans l'environnement le plus productif possible. Cela améliorera non seulement vos compétences en ligne de commande, mais améliorera également votre flux de travail en général.

Partager Partager Tweeter E-mail 10 meilleures distributions Linux pour les développeurs

Prêt à commencer le développement sur un système d'exploitation open source ? Voici les meilleures distributions Linux pour la programmation.

ok google je veux écouter
Lire la suite Rubriques connexes
  • Linux
  • Shell Linux Bash
  • Commandes Linux
A propos de l'auteur Jordan Gloor(51 articles publiés)

Jordan est un rédacteur de MUO qui se passionne pour rendre Linux accessible et sans stress pour tout le monde. Il écrit également des guides sur la confidentialité et la productivité.

Plus de Jordan Gloor

Abonnez-vous à notre newsletter

Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !

Cliquez ici pour vous abonner