A voir également:
- Linux compter nombre de fichier
- Nombre de fichier dans un dossier linux - Meilleures réponses
- Compter le nombre de fichier dans un dossier linux - Meilleures réponses
- Compter le nombre de fichier dans un dossier linux ✓ - Forum - Linux / Unix
- Shell : compter le nombre de fichiers dans un dossier..compliqué - Forum - Linux / Unix
- Compter les fichier d'un repertoire - Forum - Programmation
- Compter le nombre de fichiers d'un dossier (no wc) - Forum - Linux / Unix
- Afficher le nombre de fichier dans un dossier - Forum - Windows
4 réponses
Utilisateur anonyme
un problème momentané avec l'interface du forum ?
je n'arrive pas à faire enregistrer/apparaître mon code.
bon. finalement, ça a été posté...
je n'arrive pas à faire enregistrer/apparaître mon code.
bon. finalement, ça a été posté...
Utilisateur anonyme
Finalement c'est assez limité le shell.
bah, oui, si tu te coupes un doigt de pieds tu vas courir moins vite/bien !
bah, oui, si tu te coupes un doigt de pieds tu vas courir moins vite/bien !
#!/bin/bash
listF=( ./* )
printf 'nb fichiers: %d\n' ${#listF[*]}
gnu7
Salut, il faudrait l'adapter pour prendre en compte les fichiers qui commencent par un point, le test si fichier/dossier, mais sinon c'est le même problème, on parcours pour enregistrer des noms dans un tableau en gardant le tout en mémoire, pour finalement compter ces noms avec une deuxième commande.
gnu7
Je vous remercie tous pour vos réponses.
Effectivement c'est du shell, mais je trouve que ça valait le coup de se poser la question :-)
Cherchant une solution que j'aurais pu utiliser de base sur la plupart des systèmes, je ne vais pas compiler de programme perso en C, et rester sur une solution avec un find -print0, même si la solution listF=( ./* ) a l'air de bien fonctionner aussi.
Je garde ça en tête au cas où je tomberais un jour sur une manière plus directe d'avoir ce résultat en shell
Effectivement c'est du shell, mais je trouve que ça valait le coup de se poser la question :-)
Cherchant une solution que j'aurais pu utiliser de base sur la plupart des systèmes, je ne vais pas compiler de programme perso en C, et rester sur une solution avec un find -print0, même si la solution listF=( ./* ) a l'air de bien fonctionner aussi.
Je garde ça en tête au cas où je tomberais un jour sur une manière plus directe d'avoir ce résultat en shell
Mais, désolé de titiller :-), cet utilitaire envoie inutilement les noms des fichiers sur la sortie standard, en plus du traitement qu'il doit faire dessus pour les afficher sous forme d'arbre. Je souhaiterais juste compter le nombre de fichiers, pas besoin de faire tout ça en même temps.
Finalement c'est assez limité le shell. Je te remercie d'avoir cherché également.
Le sujet reste ouvert au cas où quelqu'un aurait une idée, peut-être avec une commande très proche du système à laquelle on n'aurait pas pensé.
Je vais aller tester du sur du fat32 ou ntfs pour voir
De n'importe quelle façon que tu fasses, il faudra bien à un moment ou un autre, lister le contenu pour comptabiliser le tout, et que ce soit sur la sortie standard, dans la mémoire ou où bon te semble.
Donc je ne vois pas ce qui te gène là-dedans ? ;-\
- Accéder à la "table des matières" du dossier
- Déterminer le nombre de fichiers qu'il contient, soit en parcourant la "table des fichiers", en mémoire cela se traduirait par l'incrémentation une seule variable entière, ou soit en le déterminant directement selon les informations disponibles dans cette "table des matières" s'il y a cette possibilité.
- L'afficher.
Afficher tous les noms de fichiers pour les passer à un second programme qui lui va faire un comptage, je trouve que cela fait beaucoup d'opérations inutiles, même si ça ne représente quasi rien sur les systèmes récents.
Ce n'est même plus du tout la même chose, on compte des lignes ou des caractères, là où on cherchait à compter un nombre de fichiers d'un dossier sur un système, c'est une méthode indirecte pour arriver au résultat.