1 votes

Construction d'une chaîne de caractères de longueur dynamique - méthode la moins coûteuse ?

Je veux écrire une série sur le personnage - la quantité correspondant à 50 % de la taille de la colonne de la fenêtre du terminal.

J'ai déjà la taille de la colonne. Disons que la taille de la colonne terminale est de 30. Le résultat final que je souhaite obtenir est une variable de type "String" contenant ceci :

echo $column_width
---------------
# That is 15 x "-"

Comment dois-je procéder pour construire cette variable ? Dois-je faire une boucle sur 0 < $column_width et concaténer un "-" à chaque itération, ou y a-t-il une façon plus intelligente ? Au cas où vous vous poseriez la question, il s'agit juste d'un truc pour un prompt bash.

0voto

Abbas Points 3737

Perl est doué pour cela :

separator=$( perl -e 'print "-" x (qx(tput cols) / 2)' )

Avec le Shell :

separator=$( printf "%*s" $(( $(tput cols) / 2 )) " " | sed 's/ /-/g' )

tput cols est utilisé pour saisir la largeur actuelle du terminal.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X