Le nombre des fichier dans un sous répertoire [Résolu/Fermé]

Signaler
-
 1234 -
Bonjour,

j ai un sous répertoire qui contient x fichiers, j'ai besoin d une commande qui peut compter le nombre de fichiers;
quelqu un peut m'aider

merci d avance

CYG

8 réponses

Messages postés
18528
Date d'inscription
lundi 15 février 1999
Statut
Webmaster
Dernière intervention
9 juillet 2020
62 378
Pour y remédier :

ls -Al | wc -l
46
Merci
Jean-François Pillou

Fondateur de CommentCaMarche.net

merci bcp;ça marche

CYG
ls | wc-w aussi ,mais je me demande la commande wc permet de compter le nombre de lignes et mots ainsi que les caractéres nn ?.Comment cette commande peut compter le nombre de fichiers d'un répertoire???
pour compter voilà la commande
more fichierX
Pour compter le nombre de fichiers du répertoire courant, on peut utiliser :
A. ls | wc -l *

B. echo $PWD > wc

C. ls | wc -w

D. ls -l | wc -w

E. cat $PWD

F. cat $PWD | wc -c
Bonjour,

Une commande un peu plus simple pour éviter d'avoir les . et .. :

ls -1 | wc -l

Cordialement.
Messages postés
18528
Date d'inscription
lundi 15 février 1999
Statut
Webmaster
Dernière intervention
9 juillet 2020
62 378
Il suffit de faire un ls et de compter le nombre de lignes (wc -l)
ls -al | wc -l
Messages postés
271
Date d'inscription
mercredi 23 février 2011
Statut
Membre
Dernière intervention
29 septembre 2016
75
Petit complément au
ls -1|wc -l
pour compter le nombre de fichiers uniquement dans le répertoire courant :

Si l'on souhaite connaître le nombre de fichiers sous dossiers compris pour un répertoire donné :
find /mondossier -name \* | wc -l


Sous Linux parfois on a un problème du nombre d'inode restant (pointeurs vers les fichiers) visible quand on a un
100%
sur la commande
df -khi
. Dans ce cas pour trouver le coupable (qui consomme beaucoup d'inodes donc de fichiers) j'utilise la commande suivante :
for dossier in 'find /var -maxdepth 1 -type d' ; do NBF='find $dossier -name \* | wc -l'; echo $dossier: $NBF; done

Exemple de sortie :
/var: 70463
/var/log: 220
/var/spool: 62615
/var/opt: 4
(...)

Détails : pour un répertoire donné je compte les fichiers (sous répertoires compris) et je fais la même chose pour ses premiers sous-répertoires.
Messages postés
271
Date d'inscription
mercredi 23 février 2011
Statut
Membre
Dernière intervention
29 septembre 2016
75
pour être précis, il manque l'option
-type f
(ne retenir que les fichiers)
- premier exemple :
find /mondossier -type f -name \* | wc -l

- second :
for dossier in 'find /var -maxdepth 1 -type d' ; do NBF='find $dossier -type f -name \* | wc -l'; echo $dossier: $NBF; done
Messages postés
18528
Date d'inscription
lundi 15 février 1999
Statut
Webmaster
Dernière intervention
9 juillet 2020
62 378
Nota Bene : ça compte aussi les répertoires "." et ".."
Messages postés
18528
Date d'inscription
lundi 15 février 1999
Statut
Webmaster
Dernière intervention
9 juillet 2020
62 378
;-)

Merci de penser à noter le problème comme résolu !
Bonjour,

Grace à votre méthode j'arrive a compter le nombre de fichier dans un dossier.
Ce que j'aimerais faire est simple. Si il y a plus de 10 fichier dans le dossier il faut envoyer un mail.
Pour la partie envoi du mail j'ai ce qui faut.
Auriez-vous une méthode pour faire cela?

Alexis
Salut Antony,

C'est de l'assistanat ! Pour effectuer ce genre d'action, il faut savoir utiliser les commandes unix de base et les assembler entre elles --> achète un unix pour les nuls par exemple.

Pour tester une condition: test
Pour afficher les fichiers d'un répertoire: ls
Pour compter les lignes: wc
Pour faire une comparaison: test
=> on obtient alors ceci:
if test $(ls -A | wc -l) -ge 10; then
# ta commande d'envoi de mail
fi

Et n'oublie pas d'acheter unix pour les nuls !


Nicolas
bonjour
svp je cherche un script qui permet d'aafficher uniquement les fichiers excutable !?
mercii d'avance :)
Messages postés
442
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
13 septembre 2013
77
Bonjour,

Pour ce cas, perso, j'utilise un bete find :

root@leela:/tmp/test# ls -l  
total 0  
-rw-r--r-- 1 root root 0 2010-04-21 11:54 pas_script  
-rwxr-xr-x 1 root root 0 2010-04-21 11:54 script

Execution du find pour trouver les fichiers executebles (ici en 755)

root@leela:/tmp/test# find . -perm 0755  
.  
./script

Il prend en paramètre du -perm les permissions qu'on veut chercher
Si tes fichiers sont de meme type (pour mon exemple 'xml' tu fais :

find . -name '*.xml' | wc