GNU/Linux >> Tutoriels Linux >  >> Linux

Mesurer l'espace disque de certains types de fichiers dans l'ensemble

find folder1 folder2 -iname '*.txt' -print0 | du --files0-from - -c -s | tail -1


Cela rapportera l'utilisation de l'espace disque en octets par extension :

find . -type f -printf "%f %s\n" |
  awk '{
      PARTSCOUNT=split( $1, FILEPARTS, "." );
      EXTENSION=PARTSCOUNT == 1 ? "NULL" : FILEPARTS[PARTSCOUNT];
      FILETYPE_MAP[EXTENSION]+=$2
    }
   END {
     for( FILETYPE in FILETYPE_MAP ) {
       print FILETYPE_MAP[FILETYPE], FILETYPE;
      }
   }' | sort -n

Sortie :

3250 png
30334451 mov
57725092729 m4a
69460813270 3gp
79456825676 mp3
131208301755 mp4

Simple :

du -ch *.txt

Si vous souhaitez uniquement afficher l'espace total occupé, procédez comme suit :

du -ch *.txt | tail -1

Voici une façon de le faire (sous Linux, en utilisant GNU coreutils du et syntaxe Bash), en évitant les mauvaises pratiques :

total=0
while read -r line
do
    size=($line)
    (( total+=size ))
done < <( find . -iname "*.txt" -exec du -b {} + )
echo "$total"

Si vous voulez exclure le répertoire courant, utilisez -mindepth 2 avec find .

Une autre version qui ne nécessite pas la syntaxe Bash :

find . -iname "*.txt" -exec du -b {} + | awk '{total += $1} END {print total}'

Notez que ceux-ci ne fonctionneront pas correctement avec les noms de fichiers qui incluent des retours à la ligne (mais ceux avec des espaces fonctionneront).


Linux
  1. Utilisez df pour vérifier l'espace disque libre sous Linux

  2. Vérifiez l'espace disque utilisé sur Linux avec du

  3. Réduire les E/S de disque pour augmenter les performances

  4. Comment tarer certains types de fichiers dans tous les sous-répertoires ?

  5. Un moyen de remplir/utiliser instantanément beaucoup d'espace disque ?

Commande Df sous Linux (vérifier l'espace disque)

Comment augmenter l'espace disque virtuel de la machine virtuelle sur VirtualBox

Comment monter un disque NTFS sous Linux

Diff -r uniquement pour certains types de fichiers ?

Comprendre votre espace disque via la commande 'df' sous Linux

Commande Linux df pour vérifier l'espace disque