4 réponses

  1. dtcfb
    04 juin 2017

    Mais alors, quelle est la différence entre l’option -exec de find, et l’utilisation de xargs ? Le but semble identique, non ?

    Merci pour l’article, très bon pense bête (c’est moi la bestiole ;))

    Répondre

    • fhh
      07 juin 2017

      La différence réside dans le mode de traitement des arguments. « exec » va appliquer un traitement fichier par fichier là ou le passage par xargs va appliquer le traitement à la liste résultante de la commande. Exemple :

      fhh@melusine ~ $ find ex -type f -exec echo {} \;
      ex/c
      ex/b
      ex/a
      fhh@melusine ~ $ find ex -type f | xargs echo
      ex/c ex/b ex/a
      

      Répondre

      • dtcfb
        07 juin 2017

        Merci pour cette réponse claire et rapide 😉

        Répondre

  2. ChewI
    02 décembre 2010

    Exemple d’utilisation simple de find mais couplée à d’autres commandes.
    1) Renomme tous les fichiers MaLib*.cpp et MaLib*.h en UneLib* :
    find . -name « *.cpp » -or -name « *.h » | xargs rename « s/MaLib/UneLib/g »
    2) Remplace la chaîne MaLib dans les sources par UneLib (pour remplacer un namespace de partout, par exemple) :
    find . -name « *.cpp » -or -name « *.h » | xargs sed -i « s/MaLib/UneLib/g »

    Très utile pour recycler son code !
    (j’ai bien dit « son propre code, hein ;oP)

    Répondre

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

 

Retour au début
mobile bureau