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 POSIX Discussion :

Suppression d'un membre d'un array


Sujet :

Shell et commandes POSIX

  1. #1
    Membre habitué
    Homme Profil pro
    Indépendant spécialiste Cognos/Essbase
    Inscrit en
    Août 2008
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Indépendant spécialiste Cognos/Essbase
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2008
    Messages : 384
    Points : 193
    Points
    193
    Par défaut Suppression d'un membre d'un array
    Bonjour,

    savez-vous si il est possible d'accéder à un membre d'un array en Korn Shell et de le supprimer pour le remplacer par une ou plusieurs autres à la suite de ceux qui sont déjà présents et non supprimé....

    Bon en clair ca donnerait ca : un array composé de
    - toto
    - titi
    - tutu

    Je veux supprimer "titi" et le remplacer par "tata" et "tete" ce qui au finale me donne un array : toto tata tete tutu

    Merci !

  2. #2
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    suffit de le faire en 2 mouvement
    -déplacement de l'espace à inserer du 4ieme élément de l'array et des suivant à position +1
    -remplacer les contenus des emplacement 2 et 3 (pour cet exemple)

  3. #3
    Membre habitué
    Homme Profil pro
    Indépendant spécialiste Cognos/Essbase
    Inscrit en
    Août 2008
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Indépendant spécialiste Cognos/Essbase
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2008
    Messages : 384
    Points : 193
    Points
    193
    Par défaut
    -déplacement de l'espace à inserer du 4ieme élément de l'array et des suivant à position +1
    -remplacer les contenus des emplacement 2 et 3 (pour cet exemple)
    Je n'y aurai pas pensé tiens !

    Merci pour le tuyau

    Sinon, pour ceux que ca interesse j'ai trouvé ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    #permet de virer l'element [0] du cube
    unset 'cube[0]'
    #on le recharge avec les autres valeurs
    set -A cube F E M Q

  4. #4
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 298
    Points : 12 778
    Points
    12 778
    Par défaut
    Bonjour,

    Je ne vois pas l'utilité de:
    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $ set -A cube A B C D E F
    $ echo ${cube[0]}
    A
    $ echo ${#cube[*]}
    6
    $ set -A cube G H I J
    $ echo ${cube[0]}
    G
    $ echo ${#cube[*]}
    4
    Que l'on mette un 'unset' ou pas, dans tous les cas tu recrée ton tableau...
    Cordialement.

  5. #5
    Membre habitué
    Homme Profil pro
    Indépendant spécialiste Cognos/Essbase
    Inscrit en
    Août 2008
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Indépendant spécialiste Cognos/Essbase
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2008
    Messages : 384
    Points : 193
    Points
    193
    Par défaut
    Dans mon cas, à moins que je me sois gouré dans mes tests, j'ai un array qui stocke une valeur que je teste et si elle est = * alors je supprime cette valeur et la remplace par A, B, C, D afin de boucler dessus dans un "for" plus loin.

    Au départ, je capture la saisie d'un user sur la sortie standard. Elle peut être une combinaison de ces 4 valeurs : A, B, C, D et une option, "*", qui signifie toutes.

    Sauf que comme je dois pouvoir boucler sur A, B, C ou D et non sur "*", je dois traper l'* et la remplacer par A, B, C et D.

    D'où le unset sur "*" pour le remplacer par les 4 valeurs.

    Y'a certainement plus simple, mais je suis pas un killer en shell.

  6. #6
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 298
    Points : 12 778
    Points
    12 778
    Par défaut
    C'est bien ce que je dis:
    Au départ, dans ton tableau tu ne peux avoir que soit les option A B C et/ou D
    soit tu as uniquement "*"
    donc si tu as uniquement "*", tu veux le remplacer par toutes tes options, et donc un simple:
    suffit, le unset est inutile ...
    Cordialement.

  7. #7
    Membre habitué
    Homme Profil pro
    Indépendant spécialiste Cognos/Essbase
    Inscrit en
    Août 2008
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Indépendant spécialiste Cognos/Essbase
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2008
    Messages : 384
    Points : 193
    Points
    193
    Par défaut
    suffit, le unset est inutile ...
    Ah bon....

    ca signifie que re-peupler un tableau déjà peuplé efface ce qui y était déjà stocké ?!? Ce ne fait pas de "append" alors ?

    Mais zalors, question :
    1- A quoi sert le "unset"
    2- comment fait on pour faire un append ?

  8. #8
    Membre habitué
    Homme Profil pro
    Indépendant spécialiste Cognos/Essbase
    Inscrit en
    Août 2008
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Indépendant spécialiste Cognos/Essbase
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2008
    Messages : 384
    Points : 193
    Points
    193
    Par défaut
    2- comment fait on pour faire un append ?
    Mouais bon,; j'imagine que pour celui là, on compte ne nombre de variable et on append en faisant un "+1"...

    ou même mieux apparemment avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    aname+=(val4 val5 val6)

Discussions similaires

  1. Quelle est la bonne pratique pour accéder optimalement à un membre d'un array?
    Par billybobbonnet dans le forum Développement Windows
    Réponses: 4
    Dernier message: 01/09/2014, 14h13
  2. [JavaScript] Suppression des multiples dans un tableau (array) alphanumérique
    Par danielhagnoul dans le forum Contribuez
    Réponses: 0
    Dernier message: 07/06/2011, 11h40
  3. [Tableaux] Suppression à l'indice 0 d'un array
    Par Aizen64 dans le forum Langage
    Réponses: 4
    Dernier message: 12/11/2007, 20h25
  4. Suppression d'éléments dans un tableau (Array)
    Par jeremie74 dans le forum Flash
    Réponses: 4
    Dernier message: 06/03/2007, 13h54
  5. [POO] vider un array membre de classe
    Par jlf dans le forum Langage
    Réponses: 2
    Dernier message: 20/10/2005, 10h54

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