Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/04/2008, 01h16   #1
Invité de passage
 
Inscription : avril 2008
Messages : 9
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 9
Points : 1
Points : 1
Par défaut shell script pour compter le nb de fichiers par extension

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
andress33 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2008, 05h45   #2
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 546
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 546
Points : 7 779
Points : 7 779
Code :
ls -lRrt | grep "\.ext" | wc -l
pourquoi faire un script
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2008, 08h15   #3
Invité de passage
 
Inscription : avril 2008
Messages : 9
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 9
Points : 1
Points : 1
Citation:
Envoyé par frp31 Voir le message
Code :
ls -lRrt | grep "\.ext" | wc -l
pourquoi faire un script
ouais mais je dois faire un script pour compter le nombre de fichiers par extension. exemple:

Code :
1
2
3
4
3 exe
2 jpg
5 pnm
1 txt, etc
andress33 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2008, 08h56   #4
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 546
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 546
Points : 7 779
Points : 7 779
pareil suffit de le mettre dans une boucle et d'ameliorer l'affichage avec un echo

Code :
1
2
3
4
pour tout (lister fichier | couper extention | unique) 
faire
lister les fichier de cette extentions et les compter
done
c'est à dire :
Code :
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>
ne pas oublier de décompter les fichiers sans extensions (grep -v 0)

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 :
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 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2008, 18h16   #5
Invité de passage
 
Inscription : avril 2008
Messages : 9
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 9
Points : 1
Points : 1
@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 (
andress33 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2008, 19h06   #6
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 546
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 546
Points : 7 779
Points : 7 779
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.
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2008, 19h09   #7
Invité de passage
 
Inscription : avril 2008
Messages : 9
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 9
Points : 1
Points : 1
voila :
Code :
1
2
3
4
5
linux-jqe6:~/Desktop/andrei # ./script
jpg ---\c
       3
txt ---\c
       2
andress33 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2008, 19h59   #8
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 546
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 546
Points : 7 779
Points : 7 779
c'est bien ce que je disais ton \c n'est pas interprete mais affiche
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2008, 21h28   #9
Invité de passage
 
Inscription : avril 2008
Messages : 9
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 9
Points : 1
Points : 1
et \c permet de faire quoi sur ksh ? d'afficher le nb de fichiers sur la mme ligne? peut-etre je peux trouver la solution ...
andress33 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2008, 09h10   #10
Invité de passage
 
Inscription : avril 2008
Messages : 9
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 9
Points : 1
Points : 1
j'ai trouve la solution:
Code :
1
2
3
4
5
6
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 $?
mais il affiche toujours le nombre de fichiers pour le directeur courant et pas pour le directeur courant & les sous-directeurs
andress33 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h25.


 
 
 
 
Partenaires

Hébergement Web