|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : mai 2008 Messages : 26 ![]() |
bonjour
je cherche une commande unix qui me permettra de faire le test sur le contenu d'un variable dans un fichier le fichier est: <vc_entry> airvci=1 dsmod=qam64 usmod=qam64 pri=2 epd=1 muxport=1 dspir=256 dscir=64 uspir=256 uscir=64 service-params ....... ....... </vc_entry> <vc_entry> airvci=1 dsmod=qam64 usmod=qam64 pri=2 epd=1 muxport=1 dspir=32 dscir=32 uspir=32 uscir=32 service-params ....... ....... </vc_entry> cette commande sera capable de tester la valeur de (dspir) (256 et 32) afin de choisir le plus importans(dspir=256) et l'envoyé dans un fichier /tmp/var. merci beaucoup pour vous aides. |
|
|
00
|
|
|
#2 | ||
|
Membre habitué
![]() Inscription : février 2008 Messages : 159 ![]() |
Bonjour,
Je te conseille d'écrire un script qui cherche le mot voulu ( dspir ) dans le fichier avec grep. Il t'affichera donc les deux lignes dans ton terminal ( si tu as que 2 dspir dans ton fichier ). Ensuite, tu récupère leur valeur avec un tr et un cut ( avec tr tu définit le '=' comme séparateur ) et tu les compare avec un : Code :
|
||
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() Pacman PacmanBusiness analyst Inscription : juin 2004 Messages : 1 417 ![]() |
Salut !
Tu peux utiliser awk. grep dspdir | awk -F= '{if (max < $2) max=$2} END {print max;}' > /tmp/var awk applique un traitement sur chaque ligne d'un stream, permet de parser une ligne selon un séparateur. |
|
00
|
|
|
#4 |
![]() ![]() R&D en systemes informatiques bas niveau Unix/Linux Inscription : mai 2004 Messages : 5 499 ![]() |
Bonjour,
La combianison de grep et awk est effectivement une bonne solution. Attention toutefois, il manque le nom de fichier pour grep : |
|
|
00
|
|
|
#5 | ||
|
Membre actif
![]() Inscription : mai 2008 Messages : 157 ![]() |
Une variante :
Code :
|
||
|
|
00
|
|
|
#6 | |||
|
Membre actif
![]() Inscription : mai 2008 Messages : 157 ![]() |
Citation:
Code :
|
|||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com