printf¶
Character | Usage |
---|---|
%s | String |
%c | Single character |
%d | Integers |
%o | Octal integers |
%u | unsigned integer |
%x | Hexadecimal integers (minuscule) |
%X | Hexadecimal integers (majuscule) |
%f | Floating point |
%e | floating point number in scientific notation (minuscule) |
%E | floating point number in scientific notation (majuscule) |
%b | String with backslash escape character |
%% | Percent sign |
printf "\t %3s %-40s \n" "${index}." "${track}"
# tab
# chaine de 3 caractères alignés à droite
# chaine de 40 caractères alignés à gauche
9. Party!
10. Shooters
Modificateur de précision:¶
. (point) suivi d'un nombre spécifie le nombre de chiffres à afficher.
$ printf "Number: %.5d\n" 23
Number: 00023
avec une chaine:
printf "Nom: %.7s\n" Terminator
Nom: Termina
Afficher une ligne de tiret:¶
printf "%80s\n" " " | tr ' ' '-'
------------------------------------------------------------------------------------------------
Afficher une chaine avec des accents:¶
title="France Inter 95.9 (Émissions-débats France)"
# https://unix.stackexchange.com/questions/609125/padding-unicode-strings-with-bashs-printf
bytes=$(printf '%s' "$title" | wc -c)
chars=$(printf '%s' "$title" | wc -m)
n=$((50+bytes-chars))
printf '%-${n}s' "${title}"
Dernière mise à jour:
November 9, 2023