je dois faire un script qui doit compter le nombre de fichiers (du répertoire courant et de ses sous répertoires) par extension mais j'ai pas des idées. vous pouvez m'aider svp? merci![]()
je dois faire un script qui doit compter le nombre de fichiers (du répertoire courant et de ses sous répertoires) par extension mais j'ai pas des idées. vous pouvez m'aider svp? merci![]()
pourquoi faire un script
Code : Sélectionner tout - Visualiser dans une fenêtre à part ls -lRrt | grep "\.ext" | wc -l
ouais mais je dois faire un script pour compter le nombre de fichiers par extension. exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 3 exe 2 jpg 5 pnm 1 txt, etc
pareil suffit de le mettre dans une boucle et d'ameliorer l'affichage avec un echo
c'est à dire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 pour tout (lister fichier | couper extention | unique) faire lister les fichier de cette extentions et les compter donene pas oublier de décompter les fichiers sans extensions (grep -v 0)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 ggm(root/root)[GCXW]/xplt/nx/bn>for i in $(ls -lrtR *.* | cut -d"." -f2 | sort -u ) ; do echo "----$i----\c" ; ls -lrtR *$i 2> /dev/null | wc -l | grep -v 0; done ----GP---- 1 ----ksh---- 7 ----sh---- 32 ggm(root/root)[GCXW]/xplt/nx/bn>
pour améliorer tu peux bien sur garantir de compter que des fichiers et pas de repertoires ou liens ou tout ce que tu veux dans la boucle bien sur....
tu peux faire la meme chose dans un script :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 #!/bin/ksh for i in $(ls -lrtR *.* | cut -d"." -f2 | sort -u ) do echo "----$i----\c" ls -lrtR *$i 2> /dev/null | wc -l | grep -v 0 done exit $?
@frp31 merci beaucoup mais.... il ma compte que les fichiers du directeur courant et il m'affiche le nb de fichiers sur une autre ligne
(
le repertoire courrant c'est pas possible si tu mets R dnas les options de ls
sur une autre ligne c'est possible si ton shell n'interprete pas le "\c"
la c'est du ksh pas du bash donc il peut y avoir des petites differences.
voila :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 linux-jqe6:~/Desktop/andrei # ./script jpg ---\c 3 txt ---\c 2
Partager