Si je fais
find . -exec echo {} +
il imprime tous les chemins sur une seule ligne, c'est-à-dire que la commande echo
n'est exécutée qu'une seule fois.
Mais selon man find
,
-exec command {} + ... the number of invocations of the command will be much less than the number of matched files. ...
Il semble que dans certaines circonstances, la commande sera exécutée plusieurs fois. Ai-je raison? Veuillez illustrer.
find / -exec echo | wc
et en mesurant le rapport entre le nombre de caractères et le nombre de lignes.J'ai trouvé que la longueur maximale de la ligne de commande utilisée parfind
était considérablement plus petite que la limite POSIX théorique et beaucoup plus proche de laSize of command buffer we are actually using
ligne dans la sortie dexargs --show-limits
. Cela est vrai pour Linux et cela peut être vrai pour l'implémentation de Mac OSfind
, bienxargs
qu'il n'imprime pas la valeur dans Mac OS. Une idée sur pourquoi cela se produit?