Si l'analyse de la sortie de lsest dangereuse car elle peut casser certains caractères géniaux (espaces,, \n...), quelle est la meilleure façon de connaître le nombre de fichiers dans un répertoire?
Je compte généralement sur findpour éviter cette analyse, mais de la même manière, il find mydir | wc -lse cassera pour les mêmes raisons.
Je travaille sur Solaris en ce moment, mais je cherche une réponse aussi portable sur différents unices et différents shells que possible.
findvous obtiendrez le nombre de fichiers récursivement (utilisez -maxdepth 1si vous ne le souhaitez pas. find mydir -maxdepth 1 -type f -printf \\n | wc -ldevrait gérer les caractères spéciaux dans le nom de fichier, car ils ne sont jamais imprimés en premier lieu.