Nombre de fichiers dans un répertoire

Nombre de fichiers dans un répertoire - Shell/Batch - Programmation

Marsh Posté le 09-06-2006 à 11:00:58    

Bonjour,
 
Je souhaiterais savoir s'il existe une commande Shell permettant de retourner le nombre de fichiers dans un répertoire.
J'ai essayé `ls |wc -l` mais je cherche quelque chose de nettement plus rapide (je n'ai pas besoin de connaître les noms de fichiers).
Je suppose que ce n'est pas écrit directement dans l'inode du répertoire ?
 
D'avance merci.

Message cité 1 fois
Message édité par gen2 le 09-06-2006 à 11:07:01
Reply

Marsh Posté le 09-06-2006 à 11:00:58   

Reply

Marsh Posté le 09-06-2006 à 13:44:24    

Apparemment ça exite pas, ou alors personne connaît. :-/

Reply

Marsh Posté le 09-06-2006 à 15:45:20    

je dirais qu'il faut peut etre etudier cela en langage C et voir ce qu'on peut trouver en consultant les inodes.......
 
mais en shell, j y crois pas du tout ....


Message édité par gloo le 09-06-2006 à 15:45:55
Reply

Marsh Posté le 10-06-2006 à 10:16:59    

gen2 a écrit :

Bonjour,
 
Je souhaiterais savoir s'il existe une commande Shell permettant de retourner le nombre de fichiers dans un répertoire.
J'ai essayé `ls |wc -l` mais je cherche quelque chose de nettement plus rapide (je n'ai pas besoin de connaître les noms de fichiers).


Philosophie d'Unix: il est inutile de créer une commande spécialisée pour une question précise (qui, il faut bien le dire, concerne dans ton cas une minorité de personnes) vu que tu peux obtenir le même résultat avec des commandes plus générales style ls |wc (sans backquottes !!!)... mais si vraiment cette commande te manque, alors tu peux te la créer toi-même en C

gen2 a écrit :

Je suppose que ce n'est pas écrit directement dans l'inode du répertoire ?


Non. L'inode d'un fichier ne contient que sa taille. Evidemment en divisant la taille du répertoire par la taille d'une de ses entrées, tu obtiens le nb d'entrées... mais c'est sale.
Tu peux faire ton truc en 3 ou 4 lignes de C à coup de "opendir()" , "readdir()" et "closedir()"...


Message édité par Sve@r le 10-06-2006 à 10:20:30

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed