Si l'idée est d'itérer sur des chemins (fichiers, répertoires, autres — en appliquant ou non des filtres sur les noms, extensions, tailles, dates de dernière modification, profondeur de répertoires, etc.), la combinaison d'outils find et xargs est très largement supérieure à ls (même si en connaissant ls depuis toujours ou presque, c'est tentant et légitime de vouloir balancer sa sortie dans un tube).
Quelques options pratiques pour la combinaison :
find : -print0
xargs : -0 et -r
Quant à ls (même si je ne recommande pas de poursuivre dans cette voie), l'échappement est contrôlable via --quoting-style. Pour les détails d'implémentation, voir les fonctions et variables contenant quoting_style dans src/ls.c (paquet coreutils), notamment decode_switches().
[^] # Re: ls sans arguments
Posté par Cyril Brulebois (site web personnel) . En réponse au message cygwin noms de fichiers avec espaces et tirets. Évalué à 4.
Si l'idée est d'itérer sur des chemins (fichiers, répertoires, autres — en appliquant ou non des filtres sur les noms, extensions, tailles, dates de dernière modification, profondeur de répertoires, etc.), la combinaison d'outils
findetxargsest très largement supérieure àls(même si en connaissantlsdepuis toujours ou presque, c'est tentant et légitime de vouloir balancer sa sortie dans un tube).Quelques options pratiques pour la combinaison :
find:-print0xargs:-0et-rQuant à
ls(même si je ne recommande pas de poursuivre dans cette voie), l'échappement est contrôlable via--quoting-style. Pour les détails d'implémentation, voir les fonctions et variables contenantquoting_styledanssrc/ls.c(paquetcoreutils), notammentdecode_switches().Debian Consultant @ DEBAMAX