Shell : compter le nombre de fichiers dans un dossier..compliqué
Fermé
Cloturernapasdesensfigure
Messages postés
111
Date d'inscription
vendredi 6 février 2015
Statut
Membre
Dernière intervention
22 juin 2016
-
20 juin 2016 à 17:08
UnGnU Messages postés 1158 Date d'inscription lundi 2 mai 2016 Statut Contributeur Dernière intervention 22 décembre 2020 - 22 juin 2016 à 16:06
UnGnU Messages postés 1158 Date d'inscription lundi 2 mai 2016 Statut Contributeur Dernière intervention 22 décembre 2020 - 22 juin 2016 à 16:06
A voir également:
- Compter le nombre de fichier dans un dossier linux
- Classic shell windows 11 - Télécharger - Personnalisation
- Shell addition ✓ - Forum Shell
- Shell pause ✓ - Forum Shell
- Efi shell version 2.50 - Forum Windows 10
- Classic shell c'est quoi ✓ - Forum Windows 10
5 réponses
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 417
20 juin 2016 à 17:55
20 juin 2016 à 17:55
Salut,
Peut-être pas la solution la plus optimisée :
Peut-être pas la solution la plus optimisée :
ls cc >/dev/null && ls cc | wc -l
20 juin 2016 à 18:10
J'y avais songé à un moment mais sans tester puisque ça fait faire 2 fois le ls et je n'aimais pas ça
Mais je suis forcé d'en reconnaître l'efficacité
Je prends !
Merci !
(Je vais essayer de l'adapter aussi avec un find pour compter réellement le nombre de fichier y compris d'éventuels fichiers avec un "\n" dans le nom. S'il n'y a pas d'autre commande plus simple dédiée à celà)
20 juin 2016 à 19:56
J'aimerais quand même trouver une solution propre.
Je n'y arrive pas.
J'ai essayé de bien des façons, sans succès, voici ma dernière tentative (affreuse) :
if liste="$(find aa -type f -print0)"; then od -c <<<"$liste" | fgrep -o '\0' |wc -l; else echo "ERREUR"; fi
Je crois pourtant essayer de faire quelque chose de simple, non ? Compter proprement le nombre de fichiers d'un dossier.
Voyez-vous une autre manière de faire svp ?
Mes difficultés :
- passer par une variable temporaire supprime l'information du dernier saut de ligne et tous les caractères binaires NULL.
(J'aimerais ne pas avoir à créer de fichiers temporaires juste pour ça)
- mettre des commandes entre "|" dans une commande entre $( ) fait que je n'arrive pas à savoir s'il y a eu une erreur à l'exécution de la première commande, même avec $PIPESTATUS.
22 juin 2016 à 02:13
find /chemin/ -type f est pour des fichiers utilise -type d pour les répertoirs
22 juin 2016 à 02:18
find . -type d -name "*" | wc -l