Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/10/2011, 11h08   #1
Lps
Nouveau Membre du Club
 
Inscription : novembre 2005
Messages : 84
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 84
Points : 32
Points : 32
Envoyer un message via Skype™ à Lps
Par défaut awk et utilisation du case

Bonjour à tous.

J'aimerai utiliser un case plutôt que cette cascade de if et faire de la recherche de motif sur mot entier pour différentier MASTER et MASTER_SERVICE par exemple :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
awk -v depot=$DEPOT -v goroco=$CHAINE -v ordre=99 -v comm="" '{
                if ( $1 ~ "P_FE_MASTER.Racines" ) { ordre = 1 ; comm="_"  }
                else if ( $1 ~ "P_FE_MASTER_SERVICE" ) { ordre = 1 ; comm="_"  }
                else if ( $1 ~ "P_PRD_COM" ) {  ordre = 2 ; comm=""  }
                else if ( $1 ~ "P_PRD_ATT" ) {  ordre = 3 ; comm=""  }
                else if ( $1 ~ "P_PRD_FEX" ) {  ordre = 4 ; comm=""  }
                else if ( $1 ~ "P_PRD_EXT" ) {  ordre = 5 ; comm=""  }
                else if ( $1 ~ "P_PRD_BEF" ) {  ordre = 6 ; comm=""  }
                else if ( $1 ~ "P_PRD_LIF" ) {  ordre = 7 ; comm=""  }
                else if ( $1 ~ "P_PRD_BQC" ) {  ordre = 8 ; comm=""  }
                else if ( $1 ~ "P_FE_MASTER_TABLE" ) { ordre = 9 ; comm=""  }
                else if ( $1 ~ "P_FE_MASTER_PROC" ) { ordre = 10 ; comm=""  }
                else if ( $1 ~ "P_FE_MASTER" ) { ordre = 11 ; comm=""  }
                else if ( $1 ~ "P_FE_SLAVE_TABLE" ) { ordre = 12 ; comm=""  }
                else if ( $1 ~ "P_FE_SLAVE_PROC" ) {  ordre = 13 ; comm=""  }
                else if ( $1 ~ "P_FE_SLAVE.Racines" ) {  ordre = 1 ; comm="_" }
                else if ( $1 ~ "P_FE_SLAVE" ) {  ordre = 14 ; comm=""  }
                else { cible = "package non defini" ; ordre = 99 ; comm="#" }
                print ordre "!" comm "INSTALLE |" $1 "|" depot "|" goroco
                }'
Merci d'avance.
__________________
Ludovic
Lps est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2011, 12h12   #2
Rédacteur/Modérateur
 
Avatar de lavazavio
 
Homme
Inscription : décembre 2004
Messages : 1 653
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 30
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : décembre 2004
Messages : 1 653
Points : 2 025
Points : 2 025
Bonjour,

Il est possible d'utiliser switch...case avec gawk.

Cf la doc de gawk
__________________
Rédacteur et Modérateur rubrique Linux
Articles dvp.com
Man pages en français
lavazavio est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 13/10/2011, 13h58   #3
Lps
Nouveau Membre du Club
 
Inscription : novembre 2005
Messages : 84
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 84
Points : 32
Points : 32
Envoyer un message via Skype™ à Lps
Merci beaucoup
__________________
Ludovic
Lps est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h59.


 
 
 
 
Partenaires

Hébergement Web