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 19/12/2006, 17h13   #1
Membre à l'essai
 
Inscription : juin 2004
Messages : 54
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 54
Points : 22
Points : 22
Par défaut Aide sur commande awk

Bonjour,
Petit problème quant à l'utilisation de la commande awk.
J'ai un fichier param.txt qui contient par exemple ces données
Code :
1
2
3
NomParam1
NomParam3
NomParam5
A coté de ce fichier, j'ai un autre fichier de config qui contient les valeurs de tous les paramètres
Code :
1
2
3
4
NomParam1= ValeurParam1
NomParam2= ValeurParam2
NomParam3= vlauerParam3 
...
A l'aide d'un script shell je souhaite obtenir une chaine du type
Code :
NomParam1=ValeurParam1 NomParam3=ValeurParam3 NomParam5=ValeurParam5
C'est à dire une chaine ne contenant que les paramètres présents dans le fichier param.txt concaténé avec leur valeur définie dans le fichier de config.
J'ai tenté d'utiliser la commande awk mais sans succès.
En fait pour chaque param contenu dans le fichier param.txt je vais chercher la valeur dans le fichier config:
Code :
1
2
3
4
5
awk '{
 
cat config.txt |grep $1 |  awk '{printf $2 }' `
 
}' param.txt
Je me doute qu'il n'est pas possible d'imbriquer un awk dans un autre .. mais si quelqu'un à une idée pour contourner mon problème ..
Merci
lili_bzh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2006, 18h54   #2
Membre Expert
 
Avatar de becket
 
Frédéric Brugmans
Informaticien multitâche
Inscription : février 2005
Messages : 661
Détails du profil
Informations personnelles :
Nom : Frédéric Brugmans

Informations professionnelles :
Activité : Informaticien multitâche

Informations forums :
Inscription : février 2005
Messages : 661
Points : 1 196
Points : 1 196
une réponse avec sed / awk

Code :
1
2
 
 awk /$(sed ':a;N;$!ba;s/\n/|/g' parms.txt)/'{ print $0 }' config.txt
une reponse avec une imbrication de awk ( plus simple je trouve ) mais plus long

Code :
1
2
 
awk /$(  awk 'NR==1{ PARM=$0} ;  { PARM=PARM "|"$0  } END { print PARM } '  parms.txt)/'{ print $0 }' config.txt
becket est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2006, 10h55   #3
Membre à l'essai
 
Inscription : juin 2004
Messages : 54
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 54
Points : 22
Points : 22
Merci beaucoup !
lili_bzh 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 15h48.


 
 
 
 
Partenaires

Hébergement Web