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
5. Imprimer la date et l'heure
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éveloppeursPrê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 écouterLire la suite Rubriques connexes
- Linux
- Shell Linux Bash
- Commandes Linux
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 GloorAbonnez-vous à notre newsletter
Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !
Cliquez ici pour vous abonner