Page 1 sur 1

[zsh] parcourir tableau par indice

Publié : ven. 28 avr. 2017, 12:21
par AchilleFraisse
Bonjour,

Je fais comment pour parcourir un tableau par indice en ZSH ?

Je n'ais rien trouvé sur le net.

Merci

Re: [zsh] parcourir tableau par indice

Publié : ven. 28 avr. 2017, 12:44
par papajoke
en BASH :wink:
ajouter !, c'est dans toutes les références sur les tableaux (comme # pour le nombre d'éléments)

Code : Tout sélectionner

for id in "${!tableau[@]}"

Re: [zsh] parcourir tableau par indice

Publié : ven. 28 avr. 2017, 13:49
par AchilleFraisse
papajoke a écrit : ven. 28 avr. 2017, 12:44 en BASH :wink:
Non, justement, je le veux en zsh !
En bash tout le monde qui en parle sur internet, mais en ZSH personne :(

Re: [zsh] parcourir tableau par indice

Publié : ven. 28 avr. 2017, 14:12
par benjarobin
Pourquoi veux tu l'indice du tableau ? Au pire tu rajoutes un compteur (en zsh les tableau commence à 1, bash commence à 0)

Re: [zsh] parcourir tableau par indice

Publié : ven. 28 avr. 2017, 14:38
par papajoke
(zsh only) ou a la place d'un simple for (1.. nbelements)...

Code : Tout sélectionner

for item in "${array[@]}"; do
    echo "$item , id: ${array[(i)$item]} "
done

Re: [zsh] parcourir tableau par indice

Publié : ven. 28 avr. 2017, 16:00
par AchilleFraisse
Dac, merci.
J'ai fais un script pour supprimer tous les processus qui comporte le mot 'azerty', mais ils ne sont pas tous supprimé. Qu'est-ce qui ne va pas dans mon script (oui, c'est du bash finalement) ?

Code : Tout sélectionner

#!/bin/bash

REM=$(ps -ef | grep azerty | wc -l)
while [ $REM -gt 1 ]
do
    IN=$(ps -ef | grep azerty | head -1)

    res=$(echo $IN | tr " " "\n")

    i=0;

    for elt in $res
    do
        if [ $i == 1 ]
        then
            kill "$elt"
        fi
        let i++
    done
    
    let REM--
done

Re: [zsh] parcourir tableau par indice

Publié : ven. 28 avr. 2017, 16:49
par benjarobin
Pourquoi pondre 10 lignes de bash, quand une seule suffit :-)

Code : Tout sélectionner

ps xawww | grep -i "[a]zerty" | awk '{print $1}' | while read pid ; do  kill $pid ; done

Re: [zsh] parcourir tableau par indice

Publié : ven. 28 avr. 2017, 21:13
par AchilleFraisse
Merci pour ta réponse, mais je débute.
Au moins j'ai montré que j'ai essayé :)
Mais à quoi sert le crochet autour du a ?