Script bash: traiter une suite d'éléments
Résolu
Munduss
Messages postés
40
Date d'inscription
Statut
Membre
Dernière intervention
-
Munduss Messages postés 40 Date d'inscription Statut Membre Dernière intervention -
Munduss Messages postés 40 Date d'inscription Statut Membre Dernière intervention -
Bonjours,
J'ai une chaine de n chiffres séparés par des espace: 7 3 4 5 ... 4 1
Je recherche le premier 2 ou 3 mettons.
j'aimerai pouvoir les traiter dans une boucle.
Avec une chaine présentée comme celle qui suit j'aurais fait:
7
3
4
5
...
4
1
Pouvez vous m'indiquer comment faire l'équivalent sur la première chaine, ou comment transformer la première chaine en la seconde? (J'ai fait des essais avec awk mais j'ai pas réussi.. :( )
A+
J'ai une chaine de n chiffres séparés par des espace: 7 3 4 5 ... 4 1
Je recherche le premier 2 ou 3 mettons.
j'aimerai pouvoir les traiter dans une boucle.
Avec une chaine présentée comme celle qui suit j'aurais fait:
7
3
4
5
...
4
1
for chiffre in $chaine do if [ $chiffre==2 ] then echo "blabla" break elif [ $chiffre==3 ] then echo "blublu" break fi done
Pouvez vous m'indiquer comment faire l'équivalent sur la première chaine, ou comment transformer la première chaine en la seconde? (J'ai fait des essais avec awk mais j'ai pas réussi.. :( )
A+
A voir également:
- Script bash: traiter une suite d'éléments
- Script vidéo youtube - Guide
- Mas script - Accueil - Windows
- Ghost script - Télécharger - Polices de caractères
- Bingo bash free - Télécharger - Divers Jeux
- Bash addition ✓ - Forum Shell
6 réponses
hello
ou comme ça
ou comme ça
$ ./z1 blublu $ $ cat z1 #!/bin/bash chaine="7 3 4 5 2 4 1" for chiffre in $chaine do if [ $chiffre -eq 2 ] ; then echo "blabla" break elif [ $chiffre -eq 3 ] ; then echo "blublu" break fi done $
Et bien ça ne fonctionne pas avec la première chaine. La boucle ne passe qu'une fois! :(
(Avec CentOS, je sais pas si ça a de l'importance..)
(Avec CentOS, je sais pas si ça a de l'importance..)
jp@MDK:~/tmpfs ssh$ cat foo.sh #! /bin/sh #set -xv chaine="1 5 7 3 6 2 0" for i in ${chaine} do if [ "${i}" = "2" ] then echo "Chiffre 2 trouvé." break elif [ "${i}" = "3" ] then echo "Chiffre 3 trouvé." break else echo "Chiffre ${i}, on continue..." continue fi done jp@MDK:~/tmpfs ssh$ ./foo.sh Chiffre 1, on continue... Chiffre 5, on continue... Chiffre 7, on continue... Chiffre 3 trouvé. jp@MDK:~/tmpfs ssh$
;-))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question