Une très vieille question, je le sais, mais à la recherche d'une solution, j'ai peut-être trouvé une meilleure réponse.
Le problème principal avec l'utilisation de "find" est qu'il repose sur un attribut défini sur exécutable, même si cet attribut est défini pour un fichier non exécutable.
MacOS est livré avec un petit outil de ligne de commande pratique " file", qui affiche des informations sur les fichiers, par exemple:
$> file *
Distribution: directory
SomeFile.icns: Mac OS X icon, 3272878 bytes, "ic09" type
MyPicture.png: PNG image data, 1024 x 1024, 8-bit/color RGBA, non-interlaced
NSHelpers.pas: Algol 68 source text, ASCII text
myProgram: Mach-O 64-bit executable x86_64
Comme vous pouvez le voir, «MyProgram» est un exécutable, et bien indiqué comme tel. Étant donné que les anciens exécutables 32 bits auront également la phrase "exécutable", ce qui suit devrait répertorier tous les vrais exécutables (binaires):
file * | grep "executable"
J'espère que cela sera utile à quelqu'un qui cherche également une réponse à la même question.
Remarque: filene semble pas avoir de fonction de récurrence via les sous-répertoires.
-Lau lieu de-or -type lpour provoquer tous lesstatappels effectués parfindpour renvoyer les statistiques du fichier lié, et non le lien lui-même.