trouver -printf contourner

2

J'essaie d'utiliser un script pour appeler la taille du fichier de comparaison. Malheureusement, la version de findsur mon mac ne supporte pas le -printfcommutateur. Aucune suggestion?

bleu gland
la source

Réponses:

2

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

Pour installer homebrew, il vous suffit de saisir les éléments suivants dans votre terminal:

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

Puis installez findutilsen tapant:

brew install findutils

Ensuite, votre findversion supportera le -printfet 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 redistribute 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)
Jherran
la source
1
Merci pour votre suggestion. Pour moi, homebrew ajoute 'g' à la commande de recherche.
Acornblue
@acornblue le "g" est pour GNU
the0ther Le
Oui, brasser va installer GNU findcomme gfindpar défaut. C’est une bonne chose pour ne pas casser d’autres choses qui attendent la version de mac find.
Wisbucky
1

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~
alls0rts
la source