IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

problème de variables avec script awk


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 13
    Par défaut problème de variables avec script awk
    voici mon programme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    #!/bin/sh
    cd .
    for fichier in /var/opt/REPORT_DETAILS_20080118T000121_0*
       do
      cat $fichier|
            awk 'BEGIN {FS=","} {nbre=0} {nombre=0}
            { if ($3 ~/^200712/ )
      if ( $2 =="Used" )
    { $nbre=$nbre + 1 }
     if ( $2 =="Available" )
            { $nombre=$nombre + 1 }
    #print $nbe
     
            }
     
            END {
            { print "le nombre Used est :",$nbre }
    { print "le nombre available est :"$nombre }
    }'>test.txt
    done
    mon problem est le suivant j'obtiens la meme valeur pour $nbre et $nombre alors sa ne devrais pas etre le cas.
    Aider moi a identifier mon problem et a le resourdre svp!!

  2. #2
    Membre émérite Avatar de BlaireauOne
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2007
    Messages : 492
    Par défaut
    Le script ci-dessous fonctionne
    En awk, les variables utilisateur (comme nombre ou nbre) n'ont pas de $


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    for fichier in /var/opt/REPORT_DETAILS_20080118T000121_0*
       do
    	awk -F"," '
            {
    		if ($3 !~ /^200712/) next
      		if ($2 == "Used")
    		{
    			nbre++
    			next
    		} 
     		if ($2 == "Available")
    		{
    			nombre++
    		}
            }
            END {
            	print "le nombre Used est :",nbre 
    		print "le nombre available est :",nombre 
    	}' $fichier 
    done

  3. #3
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 13
    Par défaut
    ok merci
    mais les valeurs "nbre" et "nombre" retournés , ne concerne que le dernier fichier parcourue par ma boucle for;
    je veux que ce soit le result de TOUS les fichier parcouru

Discussions similaires

  1. Réponses: 0
    Dernier message: 16/04/2010, 17h21
  2. Problème de variable avec awk
    Par carlou135 dans le forum Linux
    Réponses: 5
    Dernier message: 24/11/2007, 09h30
  3. Problème de variables avec SQL
    Par sabchris dans le forum SQL
    Réponses: 2
    Dernier message: 01/10/2007, 10h10
  4. [Mail] Problème e-mail avec script developpez.com
    Par urbalk dans le forum Langage
    Réponses: 3
    Dernier message: 26/03/2007, 22h44
  5. problème de variable avec événement
    Par seb-oulba dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 08/09/2006, 17h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo