Assignement de valeurs dans un tableau dynamiquement
Résolu/Fermé
romegonic
Messages postés
28
Date d'inscription
lundi 26 juillet 2010
Statut
Membre
Dernière intervention
17 avril 2014
-
14 janv. 2013 à 13:05
romegonic Messages postés 28 Date d'inscription lundi 26 juillet 2010 Statut Membre Dernière intervention 17 avril 2014 - 15 janv. 2013 à 10:15
romegonic Messages postés 28 Date d'inscription lundi 26 juillet 2010 Statut Membre Dernière intervention 17 avril 2014 - 15 janv. 2013 à 10:15
A voir également:
- Assignement de valeurs dans un tableau dynamiquement
- Tableau croisé dynamique - Guide
- Code ascii tableau - Guide
- Comment faire un tableau - Guide
- Les données fournies dans le fichier à télécharger peuvent être synthétisées par le tableau récapitulatif suivant. dans le fichier, générez ce tableau automatiquement (tableau croisé dynamique ou table de pilote) à partir des 4 premières colonnes. cinq valeurs manquent dans le tableau suivant. retrouvez-les dans votre tableau puis reportez-les, arrondies à l’entier le plus proche, dans la zone de réponse. ✓ - Forum Excel
- Clémence souhaite faire calculer automatiquement les prix de 30 produits dans trois devises. elle a déjà saisi une formule de calcul pour le tarif du premier produit dans la première devise. corrigez sa formule afin que recopiée vers le bas puis vers la droite, elle remplisse correctement tout le tableau. - Forum Excel
4 réponses
Utilisateur anonyme
14 janv. 2013 à 14:19
14 janv. 2013 à 14:19
salut,
'eval' ne devrait pas être nécessaire pour faire fonctionner ton code.
En plus, c'est toxique, mieux vaut ne pas l'utiliser.
Et 'ls' est inutile, c'est le shell qui réalise le développement des chemins.
Si tu ne veux récupérer que les répertoires finit le chemin par un slash
'eval' ne devrait pas être nécessaire pour faire fonctionner ton code.
En plus, c'est toxique, mieux vaut ne pas l'utiliser.
Et 'ls' est inutile, c'est le shell qui réalise le développement des chemins.
Si tu ne veux récupérer que les répertoires finit le chemin par un slash
$ mkdir unRepertoire $ touch unFichier $ echo ./*/ $ ./unRepertoire/
romegonic
Messages postés
28
Date d'inscription
lundi 26 juillet 2010
Statut
Membre
Dernière intervention
17 avril 2014
Modifié par romegonic le 14/01/2013 à 14:49
Modifié par romegonic le 14/01/2013 à 14:49
Merci pour la réponse.
Pour être plus clair, je vérifie l'existence de plusieurs répertoires, et dans chacun d'entre eux, il se peut qu'il y ait également 2-3 sous répertoires, qui correspondent donc tous au critère initial.
Le but étant de stocker tous ces "chemins à analyser" dans un tableau, dès lors se pose à moi le problème d'un ls -d chemin, qui retourne plusieurs répertoires car on va stocker dans une case du tableau un truc comme "chemin_1 chemin_2 chemin_3" alors qu'on voudrait que chemin_1 aille par exemple dans tableau[7], chemin_2 dans tableau[8] etc ...
Le but est donc d'éclater "chemin_1 chemin_2 chemin_3", sans utliser un cut ou un awk, car on ne sait pas à la base combien de chemins correspondront à la demande (ls -d)
Le eval du code linux ci-dessus permettait de dispatcher en ce sens les chemins trouvés, dans les cases du tableau.
Dans mon cas précis, sans utiliser eval ni ls, comme tu le conseilles :
directory='echo /usr/was70_portal/profiles/*/config/cells/*Cell*'
Je recupère :
# echo $dirtoto
/usr/was70_portal/profiles/eulxrbfrUatNodeProf03/config/cells/ehlr08frUatCell04 /usr/was70_portal/profiles/eulxrbfrUatNodeProf04/config/cells/ehlr08frUatCell05
Et ce que je veux c'est être capable de dispatcher les N chemins trouvés (ici 2 en l'occurence), chacun dans une case d'un tableau.
Pour être plus clair, je vérifie l'existence de plusieurs répertoires, et dans chacun d'entre eux, il se peut qu'il y ait également 2-3 sous répertoires, qui correspondent donc tous au critère initial.
Le but étant de stocker tous ces "chemins à analyser" dans un tableau, dès lors se pose à moi le problème d'un ls -d chemin, qui retourne plusieurs répertoires car on va stocker dans une case du tableau un truc comme "chemin_1 chemin_2 chemin_3" alors qu'on voudrait que chemin_1 aille par exemple dans tableau[7], chemin_2 dans tableau[8] etc ...
Le but est donc d'éclater "chemin_1 chemin_2 chemin_3", sans utliser un cut ou un awk, car on ne sait pas à la base combien de chemins correspondront à la demande (ls -d)
Le eval du code linux ci-dessus permettait de dispatcher en ce sens les chemins trouvés, dans les cases du tableau.
Dans mon cas précis, sans utiliser eval ni ls, comme tu le conseilles :
directory='echo /usr/was70_portal/profiles/*/config/cells/*Cell*'
Je recupère :
# echo $dirtoto
/usr/was70_portal/profiles/eulxrbfrUatNodeProf03/config/cells/ehlr08frUatCell04 /usr/was70_portal/profiles/eulxrbfrUatNodeProf04/config/cells/ehlr08frUatCell05
Et ce que je veux c'est être capable de dispatcher les N chemins trouvés (ici 2 en l'occurence), chacun dans une case d'un tableau.
Utilisateur anonyme
14 janv. 2013 à 14:55
14 janv. 2013 à 14:55
Ça ira bien mieux si tu n'utilises ni 'ls', ni 'eval'.
Et pense à positionner l'option 'nullglob' sur 'on' avec shopt.
Encore une fois pour être sûr que tu m'entendes
Ça ira bien mieux si tu n'utilises ni 'ls', ni 'eval'.
for chemin in "$listPaths[@]}" do # $chemin est un répertoire ? chemin=/usr/$chemin test -d "$chemin" && printf '%s\n' $chemin/profiles/*/config/cells/*Cell*/nodes doneau lieu du 'printf', tu pourrais utiliser une autre boucle 'for' pour ajouter chaque répertoire trouvé à un tableau.
Et pense à positionner l'option 'nullglob' sur 'on' avec shopt.
Encore une fois pour être sûr que tu m'entendes
Ça ira bien mieux si tu n'utilises ni 'ls', ni 'eval'.
romegonic
Messages postés
28
Date d'inscription
lundi 26 juillet 2010
Statut
Membre
Dernière intervention
17 avril 2014
15 janv. 2013 à 10:15
15 janv. 2013 à 10:15
Merci pour ton retour, heureusement tu ne m'a pas encore engueulé pour avoir utilisé une structure de données réputée lourde, le tableau :-)
Le sujet peut être cloturé.
Le sujet peut être cloturé.