Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 25/07/2016, à 16: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, à 17: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 big_smile

Dernière modification par Docteur Opacho (Le 25/07/2016, à 17:06)

Hors ligne

#3 Le 25/07/2016, à 17: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, à 17:26)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#4 Le 25/07/2016, à 17: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, à 19: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 résolu, 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, à 20: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é smile

Hors ligne

#7 Le 25/07/2016, à 20:29

erresse

Re : [Shell / Batch] Creer une chaîne de N "espaces"

Au temps pour moi roll
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 résolu, 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, à 20:35

pingouinux

Re : [Shell / Batch] Creer une chaîne de N "espaces"

erresse a écrit :

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