#1 Le 25/07/2016, à 15:59
- Docteur Opacho
[Shell / Batch] Creer une chaîne de N "espaces"
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:
Si N = 5, alors :
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
Hors ligne
#2 Le 25/07/2016, à 16:05
- Docteur Opacho
Re : [Shell / Batch] Creer une chaîne de N "espaces"
Apparement la commande: seq -s " " $N|tr -d '[:digit:]' a l'air de marcher
Je ne sais pas si il y a mieux
Dernière modification par Docteur Opacho (Le 25/07/2016, à 16:06)
Hors ligne
#3 Le 25/07/2016, à 16:25
- Watael
Re : [Shell / Batch] Creer une chaîne de N "espaces"
salut,
n=5; printf -v varSp "%${n}s" ' '
echo ">$varSp<"
> <
Dernière modification par Watael (Le 25/07/2016, à 16:26)
Connected \o/
Welcome to sHell. · eval is evil.
En ligne
#4 Le 25/07/2016, à 16:30
- pingouinux
Re : [Shell / Batch] Creer une chaîne de N "espaces"
Bonjour,
Pas mal ta méthode, mais tu obtiens une espace de moins. Il faut faire ceci :
seq -s " " $((++N))|tr -d '[:digit:]'
Autre méthode :
while ((N-->0));do printf " ";done
Hors ligne
#5 Le 25/07/2016, à 18:35
- erresse
Re : [Shell / Batch] Creer une chaîne de N "espaces"
Salut,
Excusez-moi, c'est certainement très con, mais pourquoi ne pas faire :
user@user:~$ e=" "
user@user:~$ echo ">$e<"
> <
user@user:~$
???
Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.
Hors ligne
#6 Le 25/07/2016, à 19:03
- pingouinux
Re : [Shell / Batch] Creer une chaîne de N "espaces"
@erresse #5 : C'est parce que tu n'as pas bien lu l'énoncé
Hors ligne
#7 Le 25/07/2016, à 19:29
- erresse
Re : [Shell / Batch] Creer une chaîne de N "espaces"
Au temps pour moi
J'aurais du faire plus attention... Cela étant, je trouve que la soluce de Watael est super-séduisante : simple et clair !
Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.
Hors ligne
#8 Le 25/07/2016, à 19:35
- pingouinux
Re : [Shell / Batch] Creer une chaîne de N "espaces"
Cela étant, je trouve que la soluce de Watael est super-séduisante : simple et clair !
C'est aussi celle que je préfère.
Hors ligne