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 :

tester la taille d'un fichier TXT


Sujet :

Shell et commandes GNU

  1. #1
    Nouveau membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 41
    Points : 31
    Points
    31
    Par défaut tester la taille d'un fichier TXT
    Bonsoir à tous,
    je n'arrive pas sous bash à tester la valeur d'un fichier :
    Je veux faire en sorte de recevoir un mail quand le fichier de logs n'est pas vide uniquement.
    Voici le code :
    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
    nb=0
    result=0
     
    for nb in $(awk 'END {print NR}' ./message1.txt )
    do
        echo $nb
    done
     
    result=$nb;
     
    if  $(($result >0))
    then
            echo "Fichier Non vide !!"
    else
            echo "Vide"
    fi;
    J'ai récupéré ce code sur un forum et je l'ai légèrement modifié, voici le message d'erreur que j'ai en retour :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    line 11: 1: command not found
    Vide
    Quelqu'un aurait-il une idée sur ce qui ne va pas ?

    D'avance merci.

  2. #2
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    ne fais pas d'appel à un programme externe pour ça.....
    ça bouffe de la ressource et en plus c'est un risque d'erreur de plus
    utilises les fonctions du shell
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if [ -s fichier ] ; then echo "non vide" ; else echo "vide" ; fi

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 131
    Points : 97
    Points
    97
    Par défaut
    Salut, une autre solution:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ if [ "x`cat file.txt | wc -l`" != "x0" ]; then echo "file not empty !"; fi

  4. #4
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    Citation Envoyé par DjinnS Voir le message
    Salut, une autre solution:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ if [ "x`cat file.txt | wc -l`" != "x0" ]; then echo "file not empty !"; fi
    mais tu fait aussi appel à une commande externe (et même 2 en plus)
    c'est lourd... aussi lourd qu'un awk presque....

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 131
    Points : 97
    Points
    97
    Par défaut
    Ce n'est pas la méthode la plus simple certe.

    Personnellement, quand tes machines sont toutes des Dual Core ou des Quad Core, c'est pas un appel à cat et wc qui vont changer grand chose.

    Ensuite, tout dépend de la taille des fichiers.

    Je souhaitais juste donner une alternative à ta commande (qui marche parfaitement) et qui en plus, permet de faire tout un tas de tes avec la petite technique du "x".

  6. #6
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    oui c'est vrai .... je reagi souvent en professinnel... au lieu de penser utilisateur ....
    j'ai plus l'habitude de voir 1000-1500 process en meme temps sur une machine que 200 ou 300 comme a la maison..
    ou la oui les perfs on s'en tape bien

  7. #7
    Nouveau membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 41
    Points : 31
    Points
    31
    Par défaut Merci à tous ça marche parfaitement
    Bonsoir les gars,
    Merci pour votre aide, vos solutions marchent parfaitement, je n'ai pas eu le temps de répondre plus tôt, encore merci pour tout.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. fileupload+tester la taille du fichier
    Par tortuegenie dans le forum ASP.NET
    Réponses: 13
    Dernier message: 28/07/2009, 18h55
  2. tester si un fichier txt est vide sans l'ouvrir
    Par azamharir dans le forum MFC
    Réponses: 4
    Dernier message: 25/01/2009, 00h41
  3. Réponses: 3
    Dernier message: 14/08/2008, 12h17
  4. Tester la taille d'un fichier
    Par stylee307 dans le forum Windows
    Réponses: 0
    Dernier message: 22/04/2008, 04h05
  5. Tester la taille de fichier avant upload
    Par RobinNono dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 27/06/2006, 17h38

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