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 :

extractions chaine de caractères


Sujet :

Linux

  1. #1
    Membre du Club
    Profil pro
    Élève
    Inscrit en
    Avril 2004
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Élève

    Informations forums :
    Inscription : Avril 2004
    Messages : 101
    Points : 65
    Points
    65
    Par défaut extractions chaine de caractères
    Bonjour,

    J'ai une chaine de caractères composée de champs séparés par des espaces:
    maPhrase=mon_champ01 mon_champ02 ... mon_champN
    Je ne connais pas à l'avance le nombre de champs de celle-ci.
    Je voudrais :
    - récupérer le 1er champ,
    - faire des traitements
    - récupérer le 2ème champ,
    - faire des traitements
    et ce jusqu'au dernier champ de ma chaine.

    Comment dois-je faire ?
    Merci d'avance.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 66
    Points : 58
    Points
    58
    Par défaut
    Bonsoir

    essaies d'utiliser la commande awk.
    par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     cat fichier |  awk 'BEGIN {FS=" "} { print $1}'
    dans cet exemple, tu lis un fichier et avec l'éditeur awk, tu spécifies comme séparateur de champ l'espace (FS=" ") et tu récupères le premier enregistrement (print $1)

  3. #3
    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
    Une solution parmi d'autres

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    maPhrase="mon_champ01 mon_champ02 ... mon_champN"
    for champ in $(echo $maPhrase) ; do
    	echo "* DEBUT traitement champ : $champ"
    	if [[ $champ = "..." ]] ; then
    		echo "** champ \"$champ\" ne m'interesse pas"
    		continue
    	fi
    	#
    	### Traitements divers
    	#
    	echo "* FIN   traitement champ : $champ"
    done
    Traitement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    * DEBUT traitement champ : mon_champ01
    * FIN   traitement champ : mon_champ01
    * DEBUT traitement champ : mon_champ02
    * FIN   traitement champ : mon_champ02
    * DEBUT traitement champ : ...
    ** champ "..." ne m'interesse pas
    * DEBUT traitement champ : mon_champN
    * FIN   traitement champ : mon_champN

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

Discussions similaires

  1. Extraction chaine de caractères entre deux |
    Par urbanspike dans le forum Débuter
    Réponses: 3
    Dernier message: 04/10/2012, 16h46
  2. [XL-2007] PB : Extraction chaine de caractères
    Par chaser_T dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/12/2011, 16h43
  3. Extraction chaine de caractères
    Par omelhor dans le forum Langage
    Réponses: 10
    Dernier message: 22/06/2010, 14h00
  4. Extraction chaine de caractère (RegExp)
    Par laclac dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 23/09/2009, 00h29
  5. Réponses: 4
    Dernier message: 10/09/2008, 13h53

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