Pour obtenir le poids total des fichiers en excluant les fichiers ignorés dans .gitignore, et afficher la liste des 20 fichiers les plus lourds :
echo "Poids total :" && \
git ls-files -co --exclude-standard -z |
xargs -0 stat -f '%z' |
awk '{
total += $1
}
END {
if (total >= 1073741824)
printf "%.2f Go\n", total/1073741824
else if (total >= 1048576)
printf "%.2f Mo\n", total/1048576
else if (total >= 1024)
printf "%.2f Ko\n", total/1024
else
printf "%d o\n", total
}' && \
echo "" && \
echo "20 fichiers les plus lourds :" && \
git ls-files -co --exclude-standard -z |
xargs -0 stat -f '%z %N' |
sort -nr |
head -n 20 |
awk '{
size=$1
$1=""
sub(/^ /,"")
if (size >= 1073741824)
printf "%8.2f Go %s\n", size/1073741824, $0
else if (size >= 1048576)
printf "%8.2f Mo %s\n", size/1048576, $0
else if (size >= 1024)
printf "%8.2f Ko %s\n", size/1024, $0
else
printf "%8d o %s\n", size, $0
}'
Laisser un commentaire