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 :

Comptage avec bash


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    ALT
    ALT est déconnecté
    Membre Expert
    Avatar de ALT
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2002
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 373
    Par défaut Comptage avec bash
    Bonjour

    Je cherche à faire un script qui me permette de lister seulement certains fichiers (exécutables ou liens ou répertoires).
    En utilisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ls -F $par1 $par2 $par3 $par4|grep -v "\->"|grep "$car"|cut -d* -f 1
    (où $par1, $par2... sont des paramètres me permettant de préciser le chemin du répertoire à lister, des options du style -l ou -a... ), ça fonctionne.

    La question est : puis-je compter le nombre de fichiers listés ainsi, sans écrire dans un fichier intermédiaire & compter les lignes de ce fichier ?

    Merci d'avance de vos idées

  2. #2
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Par défaut
    je pense que ça peut t'aider
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

  3. #3
    ALT
    ALT est déconnecté
    Membre Expert
    Avatar de ALT
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2002
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 373
    Par défaut
    Bon, c'est vrai que ça avance un peu.

    Merci pour le tuyau.

    Mais du coup, ça m'affiche le nombre de fichiers mais pas la liste...
    Peut-être y a-t-il un moyen de lui faire afficher un résultat intermédiaire de la commande ?
    Car il va de soi que j'hésite à lui faire exécuter deux fois la même commande : une fois pour la liste, une autre fois pour le comptage.
    Même si c'est plus rapide que le fichier sur disque, ce n'est pas très propre.
    Enfin, il me semble !

    Cordialement

  4. #4
    Membre Expert

    Inscrit en
    Mai 2002
    Messages
    720
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 720
    Par défaut
    Je sais pas exactement ce que tu veux faire, mais il y a des fortes chances qu'un find convenable suffise

    Pour ce qui est de ton problblème d'afficher les lignes et leur nombre, je vois une solution avec awk, mais y'a peut être plus rapide ...

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 18
    Par défaut
    Ou alors tu peux tenter de rentrer le resultat de ton grep ds un ficher, en faire un cat afin d'afficher ta liste et il te reste plus qu'a faire ton compte

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 296
    Par défaut
    en utilisant la commande tee :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ls -l "mes-parametre | tee /tmp/resultat | wc -l
    /tmp/resultat est un fichier produit par "tee" contenant la liste des fichiers listés

  7. #7
    ALT
    ALT est déconnecté
    Membre Expert
    Avatar de ALT
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2002
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 373
    Par défaut
    Merci à tous.

    Ma question était bien de savoir si on pouvait se passer d'un fichier intermédiaire.
    Sans comptage c'est possible.
    Avec comptage, il faut :
    - soit lancer deux fois la commande (une fois sans comptage pour avoir la liste, une seconde fois pour compter). Et je trouve ça assez sale, du point de vue programmation.
    - soit créer un fichier intermédiaire (ce que j'avais fait). Inconvénient : ça ralentit le traitement.

    Voilà.
    Ceci dit, certaines de vos idées vont m'aider à simplifier un peu mon code.
    Donc, à nouveau, merci.

  8. #8
    Membre Expert

    Inscrit en
    Mai 2002
    Messages
    720
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 720
    Par défaut
    Nan, avec awk tu fais les deux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    shell> cat index.html | awk '{ print $0; i++ } END { print "===> Nombre de lignes :",i}'

  9. #9
    ALT
    ALT est déconnecté
    Membre Expert
    Avatar de ALT
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2002
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 373
    Par défaut
    Ça baigne !
    Et ça répond exactement à ma question !

    Merci.

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

Discussions similaires

  1. Test d'expression avec bash
    Par Fluxy dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 28/03/2007, 07h56
  2. Couleur dans la console avec Bash
    Par damien77 dans le forum Debian
    Réponses: 5
    Dernier message: 18/03/2007, 18h02
  3. Faire des opérations réelles avec bash ?
    Par Michaël dans le forum Shell et commandes GNU
    Réponses: 9
    Dernier message: 01/09/2006, 15h59
  4. Alias avec argument avec bash
    Par Jack_serious dans le forum Linux
    Réponses: 2
    Dernier message: 03/06/2006, 21h24
  5. comptage avec champ oui/non
    Par cello06 dans le forum Access
    Réponses: 3
    Dernier message: 09/04/2006, 14h13

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