Apprenez en lisant dans l'ordre

Sortie formatée — printf

Contrairement à echo, printf n'ajoute aucun retour à la ligne final : tu écris \n toi-même. Apprends à insérer des valeurs avec %s/%d, à aligner les colonnes avec \t, et à créer des fichiers multi-lignes — en pratique dans un terminal en navigateur.

En quoi printf diffère de echo — pas de retour à la ligne automatique

printf affiche du texte comme echo, mais contrairement à echo il n'ajoute pas de retour à la ligne final automatiquement.

Tu écris \n toi-même partout où tu veux un saut de ligne.

Comme tu peux construire la sortie exactement comme tu le souhaites, c'est aussi pratique pour créer des fichiers multi-lignes.

printf 'hello\n' affiche hello suivi d'un saut de ligne.

Omets \n et la sortie suivante continue sur la même ligne.

Écris printf 'a\nb\nc\n' > file et tu crées directement un fichier de 3 lignes.

Comment echo et printf gèrent le saut de ligne
echo hellohello + sautde ligne (auto)printf 'hello\n'hello + saut deligne (\n explicite)
echo ajoute un retour à la ligne final automatiquement ; printf saute des lignes uniquement là où tu écris \n.
echo hello                       # hello + saut de ligne auto
printf 'hello\n'                 # hello + le saut de ligne que tu as ecrit
printf 'a\nb\nc\n' > letters.txt   # cree un fichier de 3 lignes
cat letters.txt                  # les 3 lignes a / b / c
Comment l'écrireRetour à la ligne finalRésultat
echo 'hi'Ajouté automatiquementhi + saut de ligne
printf 'hi'Non ajoutéjuste hi (sans saut de ligne)
printf 'hi\n'Non ajoutéhi + saut de ligne car tu as écrit \n

① Crée un fichier de 3 lignes avec printf 'a\nb\nc\n' > letters.txt.

② Vérifie avec cat letters.txt que a, b, c apparaissent sur 3 lignes.

③ Lance printf 'no newline' et confirme qu'il n'y a pas de retour à la ligne final, donc la prochaine invite continue sur la même ligne.

④ Lance printf 'with newline\n' et confirme qu'écrire \n ajoute un saut de ligne. (Lance-le correctement et une explication apparaîtra.)

Linux console
0 / 4 exécutée(s)
Loading Linux Terminal...

Insérer des valeurs et aligner les colonnes — %s %d \t

Écris %s (chaîne) ou %d (entier) dans le gabarit, et les valeurs listées après sont insérées à ces emplacements.

printf 'name=%s\n' alice affiche name=alice.

C'est mieux qu'une simple concaténation avec echo pour faire entrer des valeurs dans une forme fixe.

\t est une tabulation, utilisée quand tu veux aligner les colonnes.

Le gabarit est appliqué de façon répétée, une fois pour chaque jeu de valeurs qui suit.

Affiche un en-tête et des données chacun dans un format séparé par des tabulations, comme printf '%s\t%d\n' alice 30, et les colonnes s'alignent.

Insérer avec %s, aligner les colonnes avec \t
alice dans %sinsère une chaîne(hi=alice)42 dans %dinsère un entier(42)%s \t %saligne les colonnesavec une tabulation
%s insère une chaîne, %d un entier, et \t aligne les colonnes avec une tabulation.
printf 'name=%s\n' alice        # name=alice
printf '%s\t%s\n' name age      # l'en-tete, separe par tabulation
printf '%s\t%d\n' alice 30      # une ligne de donnees, alignee
SymboleSensExemple → sortie
%sInsère une chaîneprintf '%s\n' hihi
%dInsère un entierprintf '%d\n' 4242
\tTabulation (alignement des colonnes)printf 'a\tb\n'a + tabulation + b
\nSaut de ligneprintf 'x\n'x + saut de ligne

① Lance printf 'name=%s\n' alice et confirme que alice est inséré à l'emplacement du %s.

② Lance printf '%s\t%s\n' name age et confirme que \t aligne les deux mots séparés par une tabulation.

③ Ensuite, lance printf '%s\t%d\n' alice 30 et confirme que les colonnes de l'en-tête et des données s'alignent.

Linux console
0 / 3 exécutée(s)
Loading Linux Terminal...
QUIZ

Vérification des connaissances

Répondez à chaque question une par une.

Question 1En quoi printf diffère-t-il de echo ?

Question 2Qu'affiche printf 'name=%s\n' alice ?

Question 3Que représente \t ?