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 :

Résultat d'une commande vide, comment le caractériser?


Sujet :

Shell et commandes GNU

  1. #21
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 274
    Points : 12 709
    Points
    12 709
    Par défaut
    La même méthode plus complète:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ find . -maxdepth 1 -name "fichier.txt" -exec bash -c "ls -l {} >/dev/null" \; -print | grep -q '.*' || echo ko
    Dans cet exemple, je redirige la sortie du ls vers /dev/null, donc si je ne rajoute pas le -print de la commande find, on serait toujours ko, puisque le grep ne capturerait jamais rien.
    Cordialement.

  2. #22
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 549
    Points : 19 376
    Points
    19 376
    Par défaut
    je ne comprends pas l'intérêt (Soit. Je bloque un peu sur ls )

    pourquoi utiliser ls ?
    dans la version moins complète, pourquoi pas -ls plutôt que -exec ls -l ?
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #23
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 274
    Points : 12 709
    Points
    12 709
    Par défaut
    Oui, tu fais blocage sur le ls car on pourrait fournir une autre commande à la place...

    Dans le contexte:
    find trouve un/des fichiers qui correspond au pattern spécifié et exécute une commande sur les dits fichiers via le -exec
    ensuite il fait un -print (dans le cas ou la commande dans le -exec est muette).
    Et si find n'a rien trouvé, il n'y aura pas de -exec ni de -print effectué et donc, le grep n'aura pas de flux, ce qui le fait sortir en erreur et donc le OU devient passant.

    Au final, on exécute bien une commande spécifique pour le cas d'une sortie vide.
    Cordialement.

  4. #24
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 549
    Points : 19 376
    Points
    19 376
    Par défaut
    ah, mais oui, mais si tu le fais exprès aussi...
    exécute une commande sur les dits fichiers via le -exec
    d'accord.
    c'est pour ça que je citais l'option -ls : je pensais que le ls -l avait un but particulier.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #25
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 274
    Points : 12 709
    Points
    12 709
    Par défaut
    Citation Envoyé par N_BaH Voir le message
    ah, mais oui, mais si tu le fais exprès aussi...
    d'accord.
    c'est pour ça que je citais l'option -ls : je pensais que le ls -l avait un but particulier.
    Pas de problème, la prochaine fois je ferais un exemple avec rm -rf, ça évitera les ambiguïtés
    Cordialement.

  6. #26
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 549
    Points : 19 376
    Points
    19 376
    Par défaut
    voilà ! ça c'est une commande utile!
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  7. #27
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 242
    Points : 13 457
    Points
    13 457
    Par défaut
    Les enfants, ne faites pas ça chez vous. Ces gens-là sont des professionnels. À ne pas reproduire.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

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

Discussions similaires

  1. Comment récupérer des valeurs dans le résultats d'une commande ?
    Par Spheerys dans le forum Général Python
    Réponses: 6
    Dernier message: 22/02/2013, 11h08
  2. bash: comment mettre le résultat d'une commande dans une variable
    Par helpcomm dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 03/10/2012, 23h26
  3. Réponses: 1
    Dernier message: 18/02/2010, 18h09
  4. [Batch] Comment passer le résultat d'une commande en variable
    Par Ohemeg dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 30/11/2009, 23h51
  5. Comment recevoir en directe le résultat d'une commande systeme en C++/C?
    Par Elv13 dans le forum Administration système
    Réponses: 17
    Dernier message: 02/06/2008, 16h16

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