Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

find : -exec vs |xargs

22 réponses
Avatar
mpg
Bonjour,

Je viens de lire dans un script une utilisation de find dont le résultat est
redirigé vers un xargs. J'avoue être un peu surpris car il me semblait
que -exec était un peu fait pour ça justement.

Quel est donc la différence entre utiliser -exec et xargs : les deux sont-ils
utilisables dans tous les cas ? L'un est-il plus (sûr|souple|performant) dans
certains cas ?

Merci d'avance pour vos avis.

Manuel,
petit scarabée qui découvre find avec émerveillement.

2 réponses

1 2 3
Avatar
Marc
Stephane Chazelas wrote:

Hmm ah non tiens, je ne trouve pas, je croyais mais j'ai dû me tromper.
Merci de me l'avoir montré...


Quel force de persuasion ! :)


En fait le post m'a convaincu d'en trouver un exemple à poster, et je
n'ai pas trouvé en moins de 5 minutes.

J'ai rien dit, j'ai juste demandé. Je n'ai jamais entendu parlé
d'une telle limitation, mais ca ne veut pas dire qu'elle n'a
jamais existé. Elle n'existe pas a ma connaissance dans les
shells modernes, mais elle a pu exister dans des vieux csh par
exemple.


Si on va dans les vieilleries de toute façon, on peut tomber sur des
limitations bien pires (ah le vieux sed de solaris qui coupait les lignes
trop longues...).


Avatar
Stephane Chazelas
2007-09-4, 11:24(+00), Marc:
[...]
Si on va dans les vieilleries de toute façon, on peut tomber sur des
limitations bien pires (ah le vieux sed de solaris qui coupait les lignes
trop longues...).


un sed POSIX a le droit de couper les lignes trop longues, comme
tous les "text utilities" vu qu'un fichier peut ne pas etre
consideré comme texte des lors que ses lignes font plus de 2048
caracteres (ou bytes).

Je crois que le pattern-space d'apres POSIX doit contenir au
moins 10 LINE_MAX (LINE_MAX valant au moins 2048). A verifier.

--
Stéphane

1 2 3