IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Faire suivre une variable avec des espaces


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 2
    Par défaut Faire suivre une variable avec des espaces
    Bonjour,

    Après quelques tests et recherches infructueuses, je demande un peu d'aide.
    J'ai crée un script qui écrit un texte (donné en argument) et le complète avec des espaces pour obtenir un texte de 24 caractères.

    Voici mon script char24
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    #! /bin/bash
     
    nbChar=${#1}
    nbEsp=$((24-$nbChar))
     
    i=0
    esp="x"
    while true
    do
    	i=$(($i+1))
    	result=`echo -n "${result}${esp}"`
    	if [ $i -eq $nbEsp ]
    	then break
    	fi
    done
     
    txt=`echo -${1}${result}-`
    echo $txt
    Si j'écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    char24 "un texte au hasard"
    J'obtiens bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    un texte au hasardxxxxxx
    Ca fonctionne donc si esp="x".
    Mais j'ai un problème lorsque esp=" "...
    Il ne prends pas en compte les espaces !

    Voyez-vous une solution ?

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Par défaut
    Tu as essayé avec le code ASCII ?

  3. #3
    Membre chevronné
    Avatar de Schmorgluck
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    371
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2006
    Messages : 371
    Par défaut
    Tu as essayé avec printf ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #! /bin/bash
    printf "%-24s" $1

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 2
    Par défaut [Résolu] Faire suivre une variable avec des espaces
    Citation Envoyé par Guardian Voir le message
    Tu as essayé avec le code ASCII ?
    Avec esp=$'\040', c'est la même chose... bash élimine les espaces superflues.

    Citation Envoyé par Schmorgluck Voir le message
    Tu as essayé avec printf ?
    Ca fonctionne très bien... en une seule ligne !
    Je ne connaissais pas (je débute depuis quelques jours...)
    Il faut juste ajouter des guillemets entre la variable pour ne pas répéter les espaces lors d'un texte composé de plusieurs mots.

    Soit...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #! /bin/bash
    printf "%-24s" "$1"
    Merci pour les infos !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [URL Rewriting] Une variable avec un espace
    Par PrOkIuM dans le forum Apache
    Réponses: 10
    Dernier message: 19/03/2008, 11h41
  2. concatener une variable avec des guillemets
    Par 461219 dans le forum VBScript
    Réponses: 3
    Dernier message: 25/02/2008, 16h29
  3. [JMeter]Comment faire suivre une variable ?
    Par cobios dans le forum Outils
    Réponses: 2
    Dernier message: 15/06/2007, 14h57
  4. Recuperer une variable contenant des espaces
    Par phpaide dans le forum Langage
    Réponses: 9
    Dernier message: 30/05/2006, 16h07
  5. [VB.NET] Compléter une chaine avec des espaces
    Par Lois dans le forum Windows Forms
    Réponses: 4
    Dernier message: 24/03/2005, 09h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo