Creer une chaîne de N "espaces"

Creer une chaîne de N "espaces" - Shell/Batch - Programmation

Marsh Posté le 25-07-2016 à 16:51:54    

Bonjour,
 
Petite question en bash, j'ai stocké dans l'une de mes variables un nombre N, et je souhaite utiliser ce nombre pour créer une chaine de caractère composée de N "blanc".
 
Par exemple:
 
N = 5
Chaine = "     "
 
Connaissez vous la commande permettant de faire cette manip' ? J'imagine qu'il faut utiliser awk mais je ne connais pas encore toutes les subtilités de cette commande..
 
Merci d'avance

Reply

Marsh Posté le 25-07-2016 à 16:51:54   

Reply

Marsh Posté le 25-07-2016 à 18:12:14    

Code :
  1. #!/bin/bash
  2. N=12
  3. var=
  4. for i in [ 1 - $N ]; do var=$var" "; done
  5. echo "$var : N=$N !"

Reply

Marsh Posté le 26-07-2016 à 17:36:12    

Équivalent via printf, plus "simple" (donc moins lisible :)) :
 

Code :
  1. #!/bin/bash
  2. N=2
  3. printf "%#${N}s %s\n" " " ": N=$N!"

Reply

Marsh Posté le 04-08-2016 à 19:46:34    

salut,
 
à quoi sert le dièse ici ?
je ne trouve pas d'application pour la caractéristique de conversion s dans le man 3 printf.
enfin, si : «  For other conversions, the result is undefined. ».

Reply

Marsh Posté le 05-08-2016 à 17:21:29    

Bonne question...
 
Dans ma mémoire pour spécifier la répétition il fallait un #. Mais je viens de tester et j'obtiens le même résultat avec et sans le #...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed