Bonjour,
Je voudrais savoir s'il existait un moyen d'obtenir la taille d'un répertoire. Pour avoir la taille d'un fichier particulier, j'utilise la fonction perl "stat". Je trouve assez fastidieux d'utiliser cette fonction dans une boucle pour calculer la taille d'un ensemble de fichiers...
J'ai pensé faire par exemple :
system('du -s /home/monrep');
mais le résultat du "du" me rend la taille suivi du répertoire en question... je désire avoir seulement un résultat numérique...
Auriez vous une meilleur solution? Merci pour votre aide.
# Hum
Posté par cho7 (site web personnel) . Évalué à 4.
[^] # Re: Hum
Posté par Obsidian . Évalué à 2.
[^] # Re: Hum
Posté par doublehp (site web personnel) . Évalué à 0.
$ du -lsh
[^] # Re: Hum
Posté par cho7 (site web personnel) . Évalué à 2.
purée toi même !
bon sinon avec du -lsh on a quand même le point, donc je ne capitule toujours pas :)
[^] # Re: Hum
Posté par nicodache . Évalué à 2.
mais comme propose le maitre des chausettes, un petit du -lsh | cut -f 1 me semble utlra approprié...
il te reste juste la taille du répertoire courant (ou celui passé en parametre genre du -lsh dir | cut -f 1), suivi de son unité (genre 312M ou 42K)...
[^] # Re: Hum
Posté par cho7 (site web personnel) . Évalué à 1.
beh oui, je le sais, mais le monsieur du topic veut juste la taille justement
mais comme propose le maitre des chausettes
tu te serai pas emmélé les pinceaux toi, car là tu me cite :)
[^] # Re: Hum
Posté par Obsidian . Évalué à 2.
[^] # Re: Hum
Posté par arn100 . Évalué à 1.
La commande suivante :
$ du -s /monrep/ | cut -f1
fait exactement ce que je veux. Il est vrai qu'en faisant un split (fonction Perl) je ferais tourner un processus shell en moins... mais bon, j'ai tendance à essayer d'écrire le moins possible de code... surtout que l'application ne sera pas énormément sollicité.
J'avais effectivement fait le tour des paramètres de la fonction "du", mais sans succès... car on ne peux, apparemment, pas éviter d'avoir le chemin qui s'affiche sur la sortie.
merci!
# Perl Power Tools
Posté par saorge . Évalué à 1.
Cela peut toujours te donner une idée pour l'écriture de ta fonction.
Toujours sur CPAN, il y a quelques modules qui peuvent t'intéresser (http://search.cpan.org/search?query=du&mode=all)(...) :
- Filesys::DiskUsage
- Tie::DiskUsage
Hope this help
# Calculer la taille totale des fichiers dans un repertoire
Posté par Mouns (site web personnel) . Évalué à 2.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.