Existe-t-il un moyen d'imprimer le même caractère à plusieurs reprises dans bash, tout comme vous pouvez utiliser cette construction pour le faire en python :
print('%' * 3)
donne
%%%
Existe-t-il un moyen d'imprimer le même caractère à plusieurs reprises dans bash, tout comme vous pouvez utiliser cette construction pour le faire en python :
print('%' * 3)
donne
%%%
bien sûr, utilisez simplement printf
et un peu de manipulation de chaîne bash
$ s=$(printf "%-30s" "*")
$ echo "${s// /*}"
******************************
Il devrait y avoir un chemin plus court, mais actuellement c'est comme ça que je le ferais. Vous pouvez en faire une fonction que vous pouvez stocker dans une bibliothèque pour une utilisation future
printf_new() {
str=$1
num=$2
v=$(printf "%-${num}s" "$str")
echo "${v// /*}"
}
Essai:
$ printf_new "*" 20
********************
$ printf_new "*" 10
**********
$ printf_new "%" 10
%%%%%%%%%%
J'aime ça:
echo $(yes % | head -n3)
Vous n'aimerez peut-être pas ceci :
for ((i=0; i<3; i++)){
echo -ne "%"
}
Vous pourriez aimer ceci :
s=$( printf "%3s" ); echo " ${s// /%}"
Source : http://dbaspot.com/shell/357767-bash-fast-way-repeat-string.html
Il existe aussi ce formulaire, mais pas très utile :
echo %{,,}
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.