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 :

Boucle for sur une variable sans prendre en compte les espaces


Sujet :

Shell et commandes GNU

  1. #1
    Membre habitué
    Profil pro
    Ingénieur
    Inscrit en
    Mars 2009
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Mars 2009
    Messages : 152
    Points : 138
    Points
    138
    Par défaut Boucle for sur une variable sans prendre en compte les espaces
    Bonjour,

    J'ai un souci et j'espère que quelqu'un ici pourra m'aider
    Je vais essayer de l'expliquer clairement.

    Je récupère dans une variable les données d'un fichier.
    Je veux ensuite récupérer les infos de cette variable "ligne par ligne" (je ne sais pas comment cela est géré au niveau de la variable).

    Je fais donc une boucle for:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    #!/bin/ksh
     
    # Recuperation des donnees
    VAR=`cat file.txt`
     
    #Boucle
    for var in $VAR
    do
        echo $var
    done
    Mon problème est que s'il y a un espace au niveau de ma ligne, je vais récupérer ma ligne en deux morceaux.
    Par exemple, si mon fichier de départ est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    TEST1
    TEST 2
    TEST3
    TEST4
    Je vais récupérer en sortie:
    TEST1
    TEST
    2
    TEST3
    TEST4

    alors que je voudrais:
    TEST1
    TEST 2
    TEST3
    TEST4


    Je ne sais pas si j'ai réussi à être clair, dite le moi si ce n'est pas le cas.
    Quelqu'un pourrait il m'aider?

    Merci d'avance

    Laurent

  2. #2
    Membre confirmé
    Femme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2009
    Messages : 236
    Points : 491
    Points
    491
    Par défaut
    Salut,
    regarde du coté de la commande sed, je pense que tu trouveras ton bonheur

  3. #3
    Expert éminent

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Points : 6 276
    Points
    6 276
    $ man woman
    Il n'y a pas de page de manuel pour woman.

  4. #4
    Membre habitué
    Profil pro
    Ingénieur
    Inscrit en
    Mars 2009
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Mars 2009
    Messages : 152
    Points : 138
    Points
    138
    Par défaut
    Re,

    Merci à vous deux.

    Je ne suis pas sur que le "sed" résolve mon problème mais par contre la commande "read" est parfaite

    Laurent

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 01/05/2015, 19h46
  2. Réponses: 2
    Dernier message: 27/05/2014, 13h12
  3. [MySQL] Afficher une liste par ordre alphabétique sans prendre en compte les articles
    Par StephBretagne dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 12/04/2012, 15h57
  4. Réponses: 3
    Dernier message: 16/12/2010, 09h03
  5. Réponses: 4
    Dernier message: 13/04/2007, 17h32

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