The UNIX and Linux Forums  

Go Back   Les systèmes UNIX et Linux Forums > Top Forums > De programmation et de script Shell
.
google unix.com



De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici.

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
AWK (NAWK) et le filtrage des valeurs Nicol UNIX pour les nuls Questions et réponses 11 04-23-2008 05:40 AM
awk / nawk retour valeurs décimales? moutaye De programmation et de script Shell 1 03-25-2008 03:04 PM
awk / nawk retour valeurs décimales? moutaye SUN Solaris 1 03-25-2008 03:02 PM
est-il possible de transmettre les valeurs des variables externes à nawk? swamymns De programmation et de script Shell 1 02-02-2006 06:13 AM
nawk et variables plimpix De programmation et de script Shell 8 07-11-2005 12:56 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 05-12-2008
saniya saniya is offline
Registered User
  
 

Join Date: Mai 2008
Messages: 4
Thumbs up comment accéder aux valeurs de awk / nawk variables à l'extérieur de la awk / nawk bloc?

Je suis de nouveau à des scripts shell et avez un problème s'il vous plaît aidez-moi

dans le script j'ai un bloc qui a nawk une variable count

nawk (
.
.
.
count \u003d count 1
print count

)

Maintenant, je veux accéder à la valeur de la variable à l'extérieur du bloc awk, comme ..

Code:
s=`expr count / m`

(m est une variable shell)

Je suis tombé sur la façon d'accéder aux variables shell awk à l'intérieur du bloc, mais est-il possible d'accéder à des valeurs de variables à l'extérieur de la awk awk bloc?

S'il vous plaît, aidez-moi
Merci d'avance.

Dernière édition par Yogesh Sawant; au 05.13.2008 09:57 AM.. Motif: Ajout de balises de code
  #2 (permalink)  
Old 05-12-2008
aju_kup aju_kup is offline
Registered User
  
 

Date d'inscription: juillet 2006
Messages: 189

Code:
count=$(nawk '{
.
.
.
count=count+1
print count

}' )

  #3 (permalink)  
Old 05-13-2008
saniya saniya is offline
Registered User
  
 

Join Date: Mai 2008
Messages: 4
sa ne fonctionne pas ... en tout cas merci

mon problème est exact que je avoir un fichier de log de fichiers et j'ai besoin de contrôler le fichier journal, il a des lignes comme ...


Code:
19 Mar 01:01:17:845 [Servlet.Engine.Transports : 3] AUDIT event.platform.interactionCompleted - name=,duration=9247 (IID=0003080248636880, TID=0030000248650301, CAPPID=000C0546517C)

J'ai ici pour en extraire la valeur de la durée c'est-à-dire 9247 et de la comparer avec une valeur seuil de délai, si elle est supérieure à cette valeur, compter toutes ces lignes.
puis trouver un ratio de temps de compte à compter du total interactions.i écrit comme un script


Code:
TRNSthreshold=5000
nawk -v v1=$TRNSthreshold '/interactionCompleted/ {var1=$10
if ((x=(index(var1,","))) > 0)
{
  time=(substr(var1,x+1,length(var1)))
     if((y=(index(time,"="))) > 0)
      {
       t=0+(substr(time,y+1,length(time)))
      }

}
if (t > v1)
{
print "duration greater than threshold value: " t
count=count+1
print "count of interactions timed out " count
}
}' 0003080248636880.txt

m=`grep -c "interaction Completed" 0003080248636880.txt`
echo "total count of interactions" $m

s=`expr $count / $m`
echo "ratio is " $s

mon problème est i am nt en mesure d'accéder à la valeur de compter à l'extérieur du bloc awk.
S'il vous plaît, aidez me.thanks à l'avance

Dernière édition par Yogesh Sawant; au 05.13.2008 09:59 AM.. Motif: Ajout de balises de code
  #4 (permalink)  
Old 05-13-2008
ère era is offline Forum Advisor  
Inutile de Herder Cats (en congé sabbatique)
  
 

Join Date: Mar 2008
Location: / il / est / que / bin / sh
Messages: 3652
Vous êtes mieux calculer le ratio à l'intérieur du script awk trop, en plus de expr pourcentages ne peuvent pas faire, il suffit de l'arithmétique entière (sic).

Dans le cas plus général, de rendre votre script awk imprimer ce que vous voulez faire passer en contrebande de retour à la coque, et l'exécuter dans backticks, comme vous faites avec grep-c pour obtenir le nombre d'interactions.

Le fait que vous pouvez passer d'une chaîne représentant un programme awk ne signifie pas que vous avez accès à l'état interne awk une fois qu'il est en cours d'exécution, pas plus que vous pouvez obtenir l'accès à l'état intérieur grep une fois qu'il est en cours d'exécution. Vous pouvez passer dans l'entrée, et de récupérer la sortie.
  #5 (permalink)  
Old 05-13-2008
aju_kup aju_kup is offline
Registered User
  
 

Date d'inscription: juillet 2006
Messages: 189

Code:
}

}
if (t > v1)
{
print "duration greater than threshold value: " t
count=count+1
print "count of interactions timed out " count
}
}' 0003080248636880.txt

Changement d'état d'impression


Code:
print count

  #6 (permalink)  
Old 05-13-2008
penchal_boddu penchal_boddu is offline
Registered User
  
 

Date d'inscription: avril 2008
Lieu: Bangalore
Messages: 127
Salut Saniya,

Essayez cette

#! / bin / ksh

count \u003d 0
Threshold \u003d 5000
tout lire en ligne
faire
val \u003d `echo $ line | cut-d" "-f10 | cut-d" \u003d "-f3`
if [$ val-ge $ Seuil]
puis
count \u003d `expr $ count + 1`
fi
done <0003080248636880.txt

echo "Nombre de valeurs au-dessus de seuil est de $ count"

total \u003d `grep-c" interactionCompleted "0003080248636880.txt»
echo "$ Total est total"
s \u003d `echo" scale \u003d 4; $ count / $ total "| bc`
echo "moyenne est de $ s"



Merci
Penchal
Closed Thread

Bookmarks

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 03:53 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0