#1 Le 20/03/2024, à 09:14
- GR 34
[RÉSOLU ] Script taille d'un dossier dans une variable à afficher
Bonjour,
Je veux récupérer la taille d'un dossier dans une variable que j'affiche par la suite en Mo avec ce code :
#!/bin/bash
echo "Entrez un chemin de dossier."
read file
file=$(echo $file | sed "s/'//g")
taille=$(du -s $file | awk '{print $1}')
((taille=$taille / 1024 | bc -l))
echo "$taille Mo"
Or sur un dossier donné echo "$taille Mo" me donne : 2073 Mo mais les propriétés du gestionnaire de fichiers (Mate) me donne 2.2 Go.
Je ne comprends pas cette différence avec les arrondis je devrais obtenir 2.1 Go ou 2 Go, non ?
Dernière modification par GR 34 (Le 20/03/2024, à 15:00)
Karantez-vro... Breizhad on ha lorc'h ennon !
«Les animaux sont mes amis. Et je ne mange pas mes amis.» George Bernard Shaw
https://www.l214.com/
Hors ligne
#2 Le 20/03/2024, à 12:36
- nany
Re : [RÉSOLU ] Script taille d'un dossier dans une variable à afficher
Bonjour,
Diviser par 1024 donne des Mio, pas des Mo.
Script modifié pour afficher des Mo :
#!/bin/bash
echo "Entrez un chemin de dossier."
read file
taille=$(du -bs "$file" | awk '{print $1}')
((taille="$taille" / 1000000))
echo "$taille Mo"
En ligne
#3 Le 20/03/2024, à 14:09
- Watael
Re : [RÉSOLU ] Script taille d'un dossier dans une variable à afficher
du -bs "$file" | awk '{print $1/1000000,"Mo"}' -> echo "$(($(stat -c %s "$file")/1000000)) Mo"
sur un dossier donné echo "$taille Mo" me donne : 2073 Mo
avec ((taille=$taille / 1024 | bc -l)) , ça m'étonnerait !
Dernière modification par Watael (Le 20/03/2024, à 14:10)
Connected \o/
Welcome to sHell. · eval is evil.
En ligne
#4 Le 20/03/2024, à 14:19
- bruno
Re : [RÉSOLU ] Script taille d'un dossier dans une variable à afficher
Bah quitte à utiliser du, autant demander direct ment la taille en Mio
du -ms "$file"
#5 Le 20/03/2024, à 14:58
- GR 34
Re : [RÉSOLU ] Script taille d'un dossier dans une variable à afficher
Merci à vous 3.
Effectivement je me suis emmêlé les pinceaux entre Mio et Mo
Le code de nany me donne 2174Mo ce qui me paraît acceptable pour la valeur du gestionnaire de fichiers Mate à 2.2 Go qui doit arrondir (?). Je garde donc ce code.
Re-merci à nany.
Pour moi c'est résolu.
Karantez-vro... Breizhad on ha lorc'h ennon !
«Les animaux sont mes amis. Et je ne mange pas mes amis.» George Bernard Shaw
https://www.l214.com/
Hors ligne
#6 Le 20/03/2024, à 15:01
- nany
Re : [RÉSOLU ] Script taille d'un dossier dans une variable à afficher
du -bs "$file" | awk '{print $1/1000000,"Mo"}' -> echo "$(($(stat -c %s "$file")/1000000)) Mo"
~$ stat -c %s /home/nany
4096
~$ du -bs /home/nany
1973441403 /home/nany
~$
Bah quitte à utiliser du, autant demander direct ment la taille en Mio
Oui mais il veut des Mo.
En ligne
#7 Le 20/03/2024, à 15:14
- Watael
Re : [RÉSOLU ] Script taille d'un dossier dans une variable à afficher
c'est la taille totale du contenu d'un dossier ! désolé, je n'ai lu que "$file".
j'ai rien dit, alors.
Connected \o/
Welcome to sHell. · eval is evil.
En ligne
#8 Le 20/03/2024, à 16:25
- bruno
Re : [RÉSOLU ] Script taille d'un dossier dans une variable à afficher
bruno a écrit :Bah quitte à utiliser du, autant demander direct ment la taille en Mio
Oui mais il veut des Mo.
Ce n'était pas clair pour moi…
De toute façon :
du -Ms dossier
équivalent à
du -s --block-size=1MiB dossier
donne la taille en Mio (MiB en anglais)
et
du -s --block-size=1MB dossier
donne la taille en Mo (MB en anglais)