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

Linux Discussion :

compter et afficher


Sujet :

Linux

  1. #21
    Inactif  
    Profil pro
    " "
    Inscrit en
    Janvier 2008
    Messages
    330
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : " "

    Informations forums :
    Inscription : Janvier 2008
    Messages : 330
    Par défaut
    Merci Pouic c'est deja du tout pret, bien que je n'aie jamais utilise AWK et suis un debutant en shell!!!

  2. #22
    Membre émérite
    Avatar de Pouic
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 669
    Par défaut
    Citation Envoyé par arm3366 Voir le message
    Merci Pouic c'est deja du tout pret, bien que je n'aie jamais utilise AWK et suis un debutant en shell!!!
    Y a rien de bien compliqué en shell
    Et puis avec Awk, sed et find, tu fais à peu près tout et n'importe quoi facilement, c'est juste un peu de doc à lire
    Software becomes slower faster than hardware becomes faster
    [size=1]
    http://xrenault.developpez.com

  3. #23
    Inactif  
    Profil pro
    " "
    Inscrit en
    Janvier 2008
    Messages
    330
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : " "

    Informations forums :
    Inscription : Janvier 2008
    Messages : 330
    Par défaut
    voila ce que j'ai fait avec ton 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
    #! /usr/awk -f
    find . -type f -name "*.dsc"
    BEGIN
    {ask=stop=video=audio=image=nbpage=animation=0}
    ($1 ~ /\/\//){next}
    /STOP/{stop++}
    /NEWPAGE/ {nbpage++}
    /ASK/{ask++}
    /@FLV/{video++}
    /@MP3/{audio++}
    /@IMG/{image++}
    /@SWF/{animation++}
     END
    {print FILENAME " "stop";"ask";"video";"audio";"image";"animation";"}' {} \; | sed 's,./,,
    mais j'ai trois questions:
    - afficher les noms des colonnes
    - enlever l'extension de filename
    - lance le script en lui passant le nom du repertoir qui contient ces fichiers
    c'est trop mais je m'en exexuse, parceque j'utilise ces scripts pour extraires des donnees et passer à mon boulot de mathematecien.
    J'ai besoin de votre aide le temps que je comprenne bien la doc, merci

  4. #24
    Membre émérite
    Avatar de Pouic
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 669
    Par défaut
    Citation Envoyé par arm3366 Voir le message
    voila ce que j'ai fait avec ton 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
    #! /usr/awk -f
    find . -type f -name "*.dsc"
    BEGIN
    {ask=stop=video=audio=image=nbpage=animation=0}
    ($1 ~ /\/\//){next}
    /STOP/{stop++}
    /NEWPAGE/ {nbpage++}
    /ASK/{ask++}
    /@FLV/{video++}
    /@MP3/{audio++}
    /@IMG/{image++}
    /@SWF/{animation++}
     END
    {print FILENAME " "stop";"ask";"video";"audio";"image";"animation";"}' {} \; | sed 's,./,,
    Je vois que tu as bien compris le principe du script

    mais j'ai trois questions:
    - afficher les noms des colonnes
    Dans ton script initial, tu fais le echo "XXX" qui va bien (comme dans ton premier post)

    - enlever l'extension de filename
    Tu peux modifier la partie END comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    f=FILENAME; sub(/.dsc/,"",f); ....
    - lance le script en lui passant le nom du repertoir qui contient ces fichiers
    Tu le passes en argument de ton script initial (tu n'arriveras pas forcément à tout faire d'un coup avec find+awk, puisque awk sera exécuté pour chaque fichier trouvé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #!/bin/bash
    #script.sh
     
    #affiche les colonnes
    echo "ID XXX"
     
    #traitement
    find $1 [...] -exec awk XXX | sed YYY
    et tu lances
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ sh script.sh /path/to/target_directory
    Software becomes slower faster than hardware becomes faster
    [size=1]
    http://xrenault.developpez.com

  5. #25
    Inactif  
    Profil pro
    " "
    Inscrit en
    Janvier 2008
    Messages
    330
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : " "

    Informations forums :
    Inscription : Janvier 2008
    Messages : 330
    Par défaut
    merci a tous!!!

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [XL-2007] compter et afficher les cellules vides
    Par souad12 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/08/2011, 01h47
  2. Compter et afficher les résultats
    Par Quartus dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 19/02/2007, 16h41
  3. Compter et afficher les résultats
    Par Quartus dans le forum Langage SQL
    Réponses: 3
    Dernier message: 19/02/2007, 13h16
  4. Réponses: 10
    Dernier message: 28/05/2005, 11h19
  5. Réponses: 4
    Dernier message: 29/05/2004, 14h29

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