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 30/01/2013, à 18:08

Oldy

Connaître la taille des dossiers contenant...

Salut,

Je recherche à connaître la taille prise par mes fichiers FLAC.
J'utilise cette commande pour connaître tous les dossiers contenant du FLAC :

find Musique/ -type f -name "*.flac" -exec dirname {} \; | sort -u

Seulement, je ne parviens pas à avoir la taille des dossiers avec la commande du

Sauriez-vous m'aider, s'il vous plaît ? smile

Hors ligne

#2 Le 30/01/2013, à 18:32

pingouinux

Re : Connaître la taille des dossiers contenant...

Bonjour,
Avec ta commande, tu risques d'avoir des dossiers qui apparaissent plusieurs fois.
Par exemple, avec cette arborescence

dir1
├── a.flac
├── b.flac
└── dir2
    ├── c.flac
    └── d.flac
$ find dir1 -type f -name "*.flac" -exec dirname {} \; | sort -u
dir1
dir1/dir2

Sinon, pour avoir la taille occupée par un répertoire et son arborescence

du -c répertoire

ou

du -ch répertoire

Hors ligne

#3 Le 30/01/2013, à 18:43

Oldy

Re : Connaître la taille des dossiers contenant...

Oui, je connais, mais j'aimerais avoir la taille occupée par tous mes fichiers FLAC, en fait. smile
J'aimerais quelque chose de plus pratique que le faire pour chaque dossier, si jamais c'est possible.

Sinon, en vérifiant la sortie de ma commande, il ne me semble pas avoir de doublons ni de problèmes d'arborescence.
Cela n'affiche que le dernier dossier, celui dans lequel il y a les .flac, et pas celui qui contient celui qui contient les .flac...(à mes souhaits tongue )

smile

Hors ligne

#4 Le 30/01/2013, à 19:03

pingouinux

Re : Connaître la taille des dossiers contenant...

Peut-être ceci

N=0;while read n; do ((N+=n)); done < <(find Musique -type f -name "*.flac" | xargs stat -c "%s");echo $N

Ajouté
Autre méthode

N=0;while read n; do ((N+=n)); done < <(find dir1 -type f -name "*.flac" -exec stat -c "%s" {} \;);echo $N

Édité : Ajout de l'initialisation de N, pour le cas où on exécute la commande plusieurs fois

Voir une autre méthode, en #11.

Dernière modification par pingouinux (Le 31/01/2013, à 07:49)

Hors ligne

#5 Le 30/01/2013, à 19:58

Oldy

Re : Connaître la taille des dossiers contenant...

Cela me donne un résultat assez étrange, je ne pense pas qu'il soit juste ou alors je ne le comprends pas...(un nombre à 11 chiffres !)

En tout cas, ça m'a l'air bien compliqué ! Je ne pensais pas avoir besoin d'une fonction pour faire ça...

Hors ligne

#6 Le 30/01/2013, à 20:02

pingouinux

Re : Connaître la taille des dossiers contenant...

Je ne l'ai pas précisé, mais le résultat est en octets. Un nombre à 11 chiffres indique une taille comprise entre 10 et 99 Go.

Hors ligne

#7 Le 30/01/2013, à 20:21

Oldy

Re : Connaître la taille des dossiers contenant...

Je l'avais bien compris, mais après conversion, j'obtiens tout de même un nombre assez extravagant. P'tête plus du double de ce que j'ai, en fait.

Hors ligne

#8 Le 30/01/2013, à 20:22

Latsuj

Re : Connaître la taille des dossiers contenant...

Bonsoir,

Pourquoi ne pas faire la boucle qu'à donné pinguouinux et tu additionne chaque résultat d'un du -sh (si tu souhaite la taille de l'ensemble de ces fichier en lisible). Bien sur, il faudra faire une distinction avec la derniere lettre du du qui doit etre soit K pour les kilo-octet ou M pour mega-octet.

Une question, il n'y a que des fichier flac dans tes dossiers ?

Bonne soirée.

Hors ligne

#9 Le 30/01/2013, à 20:31

pingouinux

Re : Connaître la taille des dossiers contenant...

Si tu exécutes ma commande plusieurs fois, N n'est pas réinitialisé, et on cumule les résultats. Je rajoute cette initialisation en #4.

Hors ligne

#10 Le 30/01/2013, à 20:40

Oldy

Re : Connaître la taille des dossiers contenant...

Je dois avouer que la commande donnée me dépasse un peu. Je n'ai pas l'habitude des boucles et consors...

Il y a quelques fichiers jpg ou png dans les dossiers contenant du flac, parfois.
J'ai surtout beaucoup de dossiers avec du OGG, mais j'aimerais sauvegarder mes .flac sur un disque dur externe, d'où la nécessité d'en connaître la taille.

En fait, je pensais que ce serait beaucoup plus facile sous Linux. Du coup, je ne peux même pas déplacer tous mes dossiers contenant du flac. Je suis obligé de le faire à la main.

Je croyais pouvoir récupérer la sortie après find...hum.

Hors ligne

#11 Le 31/01/2013, à 07:48

pingouinux

Re : Connaître la taille des dossiers contenant...

Autre méthode

echo $(($(sed -r 's/ /+/g' <<<$(find Musique -type f -name "*.flac" -exec stat -c "%s" {} \;))))

Hors ligne