Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Stephane Chazelas
On 24 Aug 2006 00:40:25 -0700, wrote:
Bonjour
Quelle est la bonne methode pour faire des tableaux associatifs en KSH ? J'ai essaye plusieurs truc sans succes. [...]
Utiliser perl ou awk. Le shell n'est pas un language de programmation, c'est un outil pour appeler d'autres commandes avant tout. awk, dans la boite a outils Unix est l'outil avec des tableaux associatifs.
Cela dit, pourquoi as-tu besoin de tableau associatif? En shell, on a recours souvent a d'autres methodes.
Par exemple, pour compter le nombres d'occurrence de quelque chose, on s'arrange pour afficher ces /choses/ une par ligne et utiliser sort | uniq -c, plutot que d'incrementer des valeurs de tableaux associatifs.
Sinon, ksh93 et zsh (deux implementations de ksh) ont le support interne pour les tableaux associatifs. (typeset -A var)
-- Stephane
On 24 Aug 2006 00:40:25 -0700, maillaxa@gmail.com wrote:
Bonjour
Quelle est la bonne methode pour faire des tableaux associatifs en KSH
? J'ai essaye plusieurs truc sans succes.
[...]
Utiliser perl ou awk. Le shell n'est pas un language de
programmation, c'est un outil pour appeler d'autres commandes
avant tout. awk, dans la boite a outils Unix est l'outil avec
des tableaux associatifs.
Cela dit, pourquoi as-tu besoin de tableau associatif? En shell,
on a recours souvent a d'autres methodes.
Par exemple, pour compter le nombres d'occurrence de quelque
chose, on s'arrange pour afficher ces /choses/ une par ligne et
utiliser sort | uniq -c, plutot que d'incrementer des valeurs de
tableaux associatifs.
Sinon, ksh93 et zsh (deux implementations de ksh) ont le support
interne pour les tableaux associatifs. (typeset -A var)
Quelle est la bonne methode pour faire des tableaux associatifs en KSH ? J'ai essaye plusieurs truc sans succes. [...]
Utiliser perl ou awk. Le shell n'est pas un language de programmation, c'est un outil pour appeler d'autres commandes avant tout. awk, dans la boite a outils Unix est l'outil avec des tableaux associatifs.
Cela dit, pourquoi as-tu besoin de tableau associatif? En shell, on a recours souvent a d'autres methodes.
Par exemple, pour compter le nombres d'occurrence de quelque chose, on s'arrange pour afficher ces /choses/ une par ligne et utiliser sort | uniq -c, plutot que d'incrementer des valeurs de tableaux associatifs.
Sinon, ksh93 et zsh (deux implementations de ksh) ont le support interne pour les tableaux associatifs. (typeset -A var)
-- Stephane
FAb
writes:
Bonjour
Quelle est la bonne methode pour faire des tableaux associatifs en KSH ? J'ai essaye plusieurs truc sans succes.
Avec eval ? mais c'est ignoble.
Voici un extrait d'un script qui se sert d'une table d'association pour adapter la sortie de la commande df en ajoutant des pseudos points de montage associés aux points réelles. (J'ai des liens symboliques dans un répertoire /go et je n'accepte à mes données que par là. ) Je peux aussi envoyer le script entier.
Fab
### Scan to have hdb8 -> music2 moviez while [ $i -lt ${#Assoc[*]} ] do mnt="${Assoc[$i]}" let i++ real="${Assoc[$i]}" let i++
eval "dum=${x_${real}}" #echo "REAL[$real] => MNT[$mnt] et dum=(${dum})" if [ -z "$dum"];then eval "x_${real}=$mnt" eval mnt_pts="$mnt_pts""$real"# Mark mnt_pts, avoid doubles else eval "x_${real}=$x_${real}""${mnt}" fi
eval toto="$x_${real}" done
for pt in ${mnt_pts[*]} do # echo "=$pt" eval toto="$x_${pt}" CMD_ASSOC=$CMD_ASSOC"-e ß|(% /mnt/$pt[$TAB]*$)|1$TAB $toto|¨ #echo $CMD_ASSOC done
maillaxa@gmail.com writes:
Bonjour
Quelle est la bonne methode pour faire des tableaux associatifs en KSH
? J'ai essaye plusieurs truc sans succes.
Avec eval ?
mais c'est ignoble.
Voici un extrait d'un script qui se sert d'une table d'association pour adapter
la sortie de la commande df en ajoutant des pseudos points de montage associés
aux points réelles. (J'ai des liens symboliques dans un répertoire /go et je
n'accepte à mes données que par là. )
Je peux aussi envoyer le script entier.
Fab
### Scan to have hdb8 -> music2 moviez
while [ $i -lt ${#Assoc[*]} ]
do
mnt="${Assoc[$i]}"
let i++
real="${Assoc[$i]}"
let i++
eval "dum=${x_${real}}"
#echo "REAL[$real] => MNT[$mnt] et dum=(${dum})"
if [ -z "$dum"];then
eval "x_${real}=$mnt"
eval mnt_pts="$mnt_pts""$real"# Mark mnt_pts, avoid doubles
else
eval "x_${real}=$x_${real}""${mnt}"
fi
eval toto="$x_${real}"
done
for pt in ${mnt_pts[*]}
do
# echo "=$pt"
eval toto="$x_${pt}"
CMD_ASSOC=$CMD_ASSOC"-e ß|(% /mnt/$pt[$TAB]*$)|1$TAB $toto|¨
#echo $CMD_ASSOC
done
Quelle est la bonne methode pour faire des tableaux associatifs en KSH ? J'ai essaye plusieurs truc sans succes.
Avec eval ? mais c'est ignoble.
Voici un extrait d'un script qui se sert d'une table d'association pour adapter la sortie de la commande df en ajoutant des pseudos points de montage associés aux points réelles. (J'ai des liens symboliques dans un répertoire /go et je n'accepte à mes données que par là. ) Je peux aussi envoyer le script entier.
Fab
### Scan to have hdb8 -> music2 moviez while [ $i -lt ${#Assoc[*]} ] do mnt="${Assoc[$i]}" let i++ real="${Assoc[$i]}" let i++
eval "dum=${x_${real}}" #echo "REAL[$real] => MNT[$mnt] et dum=(${dum})" if [ -z "$dum"];then eval "x_${real}=$mnt" eval mnt_pts="$mnt_pts""$real"# Mark mnt_pts, avoid doubles else eval "x_${real}=$x_${real}""${mnt}" fi
eval toto="$x_${real}" done
for pt in ${mnt_pts[*]} do # echo "=$pt" eval toto="$x_${pt}" CMD_ASSOC=$CMD_ASSOC"-e ß|(% /mnt/$pt[$TAB]*$)|1$TAB $toto|¨ #echo $CMD_ASSOC done