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

Linux Discussion :

[Shell] Extraction chaîne caractère


Sujet :

Linux

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 31
    Points : 16
    Points
    16
    Par défaut [Shell] Extraction chaîne caractère
    Bonjour à tous,

    J'utilise ksh
    j'ai un fichier fic.txt dans lequel j'ai une ligne telle que celle-ci :
    7894122;;ALL;192007;192007;P;A;192008

    J'aurai besoin de récuperer le caractère 'P', afin de le mettre dans une variable et faire des tests par la suite.
    J'ai essayé ça mais ça ne fonctionne pas:

    VAR =`cat fic.txt | awk -F";" '{print $6}'`

    awk -F";" pour designer le caractère de séparation et $6 pour signifier que le caractère voulu est en 6ème position (après le 5ème ";"

    Si vous avez d'autres méthodes me permettant d'arriver à mes fins, je vous en serait très reconnaissant.

    Merci beaucoup.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 271
    Points : 329
    Points
    329
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    VAR=$(awk -F';' '{print $6}' fic.txt)

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 31
    Points : 16
    Points
    16
    Par défaut
    Okay je te remercie pour la réponse.
    Je suis face à une autre difficulté, en fait je désire réaliser des tests genre if ... else if.

    Voici mon code :
    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
    20
    21
    22
    23
    24
     
    if   [ $COM = 'ALL' ]
     
    			if [ $EXP = 'A']
    			then
    				echo "ALL A"
    			elif [ $EXP = 'I' ]
    			then 
    				echo "ALL I"
    			else
    				echo "ALL E"
    			fi
     
    elif [ $COM = 'K' ]
    			if [ $EXP = 'A' ]
    			then
    				echo "K A"
    			elif [ $EXP = 'I' ]
    			then
    				echo "K I"
    			else
    				echo "K E"
    			fi
    fi
    En gros dans l'esprit c'est ça.

    Mais il bloque sur le elif [ $COM = 'K' ], il me renvoit l'erreur "syntax error at line 27 : `elif' unexpected"


    Savez-vous pourquoi ? y'a -t-il une limite dans le nombre d'imbrication qu'il est possible de faire sous ksh.

    Merci par avance pour vos réponses.
    Cdlt,

  4. #4
    Membre éclairé Avatar de BlaireauOne
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2007
    Messages : 492
    Points : 652
    Points
    652
    Par défaut
    2 erreurs :
    - oubli du then après le 1er if
    - oubli de l'espace avant le ] : if [ $EXP = 'A' ]

    Voici mon code :
    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
    20
    21
    22
    23
    24
    if   [ $COM = 'ALL' ]
    		then
    			if [ $EXP = 'A' ]
    			then
    				echo "ALL A"
    			elif [ $EXP = 'I' ]
    			then 
    				echo "ALL I"
    			else
    				echo "ALL E"
    			fi
    			
    elif [ $COM = 'K' ]
    			if [ $EXP = 'A' ]
    			then
    				echo "K A"
    			elif [ $EXP = 'I' ]
    			then
    				echo "K I"
    			else
    				echo "K E"
    			fi
    fi

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 31
    Points : 16
    Points
    16
    Par défaut
    Ok je te remercie beaucoup ça marche au poil !

Discussions similaires

  1. [AC-2007] Erreur sur extraction chaîne caractères
    Par rogerfon dans le forum VBA Access
    Réponses: 9
    Dernier message: 19/05/2011, 12h35
  2. [AC-2007] Extraction chaîne caractère depuis requête paramètre
    Par Alucardbert dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 18/12/2009, 13h55
  3. Shell : Extraction d'une sous chaîne
    Par 64XAVIER64 dans le forum Linux
    Réponses: 3
    Dernier message: 14/05/2009, 19h38
  4. Réponses: 8
    Dernier message: 02/09/2008, 14h28
  5. Extraction Chaîne de Caractères
    Par adriano057 dans le forum Access
    Réponses: 5
    Dernier message: 19/07/2006, 16h55

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