find -printf travailler autour

J'essaie d'utiliser un script pour appeler la taille du file de comparaison. Malheureusement, la version de find sur mon Mac ne prend pas en charge le commutateur -printf . Aucune suggestion?

Vous devriez envisager d'installer GNU find en utilisant homebrew .

Pour installer homebrew, il vous suffit de saisir ce qui suit dans votre terminal:

 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 

Ensuite, installez findutils en tapant:

 brew install findutils 

Ensuite, votre version de find supportera le -printf et devrait être la dernière:

 $ find --version find (GNU findutils) 4.4.2 , nc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redissortingbute it. , o the extent permitted by law. , nd Kevin Dalley. Built using GNU gnulib version e5573b1bad88bfabcda181b9e0125fb0c52b7d3b Features enabled: D_TYPE O_NOFOLLOW(enabled) LEAF_OPTIMISATION FTS() CBO(level=0) 

Utilisez l'option exec avec 'wc -c' pour la taille en octets ou 'du' pour les blocs de disque:

 $ find . -name bill\* -exec wc -c {} + 2>/dev/null 8496 ./bill 341 ./bill.c 274 ./bill.c~ 9111 total $ find . -name bill\* -exec du {} + 2>/dev/null 24 ./bill 8 ./bill.c 8 ./bill.c~