Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 17/04/2008, à 22:02

dplus

bash - compter le nb de fichier

bonsoir,
je dois faire un pti script pour compter le nombre de fichiers par extension (il doit compter ausi le fichiers de sous-répertoires). j'ai une version "beta" mais il me compte que les fichiers du directeur courant. Avez-vous idée comment faire pour compter aussi les fichiers situés dans les sous répertoires? voila mon script:

for i in $(ls -lrtR *.* | cut -d"." -f2 | sort -u ) 
do 
   echo "$i ---- "  `ls -lrtR *$i 2> /dev/null | wc -l | grep -v 0`
done

merci

Hors ligne

#2 Le 17/04/2008, à 22:16

abetsic

Re : bash - compter le nb de fichier

Bonsoir,
find . -name *.jpg
te renvoie la liste de tout les fichiers jpg contenus dans le repertoire courant et les sous-répertoires.

Hors ligne

#3 Le 17/04/2008, à 22:27

dplus

Re : bash - compter le nb de fichier

ouais, je sais mais j'dois faire pour tous les extensions wink

Hors ligne

#4 Le 17/04/2008, à 22:33

tshirtman

Re : bash - compter le nb de fichier

piste: "-name" n'est pas la seule option de find...

une fois que tu as ta liste du fichier fait des cut pour récupérer que les extensions puis un sort pour les classer, il te reste à parcourir la liste en comptant toutes les extensions identiques consécutives...

Dernière modification par tshirtman (Le 17/04/2008, à 22:35)

Hors ligne

#5 Le 17/04/2008, à 23:22

dplus

Re : bash - compter le nb de fichier

@tshirtman  je sais pas. j'ai pas trouve la bonne solution .... et en plus je dois pas afficher les fichiers par extension: le script doit compter les fichiers. le script doit retourner une liste :

py -- 2
h -- 3
jpg --- 5

Dernière modification par dplus (Le 17/04/2008, à 23:24)

Hors ligne

#6 Le 17/04/2008, à 23:31

Alain.g

Re : bash - compter le nb de fichier

quelque chose comme ça irait ?

find . -type f | sed 's/.*\.//' | sort | uniq -c

Xubuntu Karmic !

Hors ligne

#7 Le 17/04/2008, à 23:50

tshirtman

Re : bash - compter le nb de fichier

oui c'est bien ce que j'avais compris...

find . -type f

te donne la liste des fichiers avec ceux des sous dossiers,(ta question originale).
pour analyser le résultat et compter je pense que awk est l'outil idéal...

arf: grillé par ce que je lisait le man awk ^^'
bien vu le uniq -c je connaissait pas cette option...

re edit: pour la présentation je rajouerais bien "|sort -nr" cool
edit encore: par contre les fichiers sans extensions ça casse tout -_-.

Dernière modification par tshirtman (Le 17/04/2008, à 23:58)

Hors ligne

#8 Le 18/04/2008, à 00:12

Alain.g

Re : bash - compter le nb de fichier

tshirtman a écrit :

edit encore: par contre les fichiers sans extensions ça casse tout -_-.

on peut ajouter à find :  -name "?*.*"
(le "?" pour éviter les fichiers cachés sans extensions)

find . -type f -name "?*.*" | sed 's/.*\.//' | sort | uniq -c | sort -nr

edit : sinon ajouter l'option -i à uniq permet d'ignorer la case.

Dernière modification par Alain.g (Le 18/04/2008, à 05:50)


Xubuntu Karmic !

Hors ligne

#9 Le 18/04/2008, à 10:46

clahor

Re : bash - compter le nb de fichier

bjr dans le post precedent

's/.*\.//'

.*\.//

signifie substituer tout ce qui est avant le point par rien mais....je ne comprends pas la signification du premier point

.*\.//

merci d'avance

Hors ligne

#10 Le 18/04/2008, à 11:10

dplus

Re : bash - compter le nb de fichier

salut,

@alain merci big_smile

@clahor il faut mettre le premier point sinon  il va affiser l'arborescence du dossier

Hors ligne

#11 Le 18/04/2008, à 18:32

Alain.g

Re : bash - compter le nb de fichier

clahor a écrit :

.*\.//

signifie substituer tout ce qui est avant le point par rien mais....je ne comprends pas la signification du premier point

Dans les expressions rationnelles, le métacaractère point correspond à un caractère quelconque et l'astérisque est un quantificateur répétant 0, une ou plusieurs fois. Comme il est gourmand, cela correspond ici à tout ce qui est avant le dernier point de la chaîne.

Dernière modification par Alain.g (Le 18/04/2008, à 18:34)


Xubuntu Karmic !

Hors ligne

#12 Le 18/04/2008, à 20:04

clahor

Re : bash - compter le nb de fichier

merci a tous pour ces explications smile))

Hors ligne

#13 Le 26/09/2008, à 16:58

Delcano

Re : bash - compter le nb de fichier

Bonjour à tous
est il possible de rediriger la sortie vers xmessage et quel code doit on employer?
merci

Hors ligne

#14 Le 26/09/2008, à 20:30

tshirtman

Re : bash - compter le nb de fichier

pour rediriger la sortie d'un programme vers l'entré d'un autre on utilise "pipe" (prononcer "païpe" ça veux dire tuyau) et c'est ce symbole là |

commande | commande2

Hors ligne