Question 1En quoi printf diffère-t-il de echo ?
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.
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'écrire | Retour à la ligne final | Résultat |
|---|---|---|
echo 'hi' | Ajouté automatiquement | hi + 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 |
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.
%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
| Symbole | Sens | Exemple → sortie |
|---|---|---|
%s | Insère une chaîne | printf '%s\n' hi → hi |
%d | Insère un entier | printf '%d\n' 42 → 42 |
\t | Tabulation (alignement des colonnes) | printf 'a\tb\n' → a + tabulation + b |
\n | Saut de ligne | printf 'x\n' → x + saut de ligne |
Vérification des connaissances
Répondez à chaque question une par une.
Question 2Qu'affiche printf 'name=%s\n' alice ?
Question 3Que représente \t ?