#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 ?
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.
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 )
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