GNU/Linux >> Tutoriales Linux >  >> Linux

Medir el espacio en disco de ciertos tipos de archivos en conjunto

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


Esto informará el uso del espacio en disco en bytes por extensión:

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

Salida:

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

Sencillo:

du -ch *.txt

Si solo desea que se muestre el espacio total ocupado, entonces:

du -ch *.txt | tail -1

Aquí hay una manera de hacerlo (en Linux, usando GNU coreutils du y sintaxis Bash), evitando malas prácticas:

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

Si desea excluir el directorio actual, use -mindepth 2 con find .

Otra versión que no requiere la sintaxis de Bash:

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

Tenga en cuenta que estos no funcionarán correctamente con nombres de archivo que incluyan líneas nuevas (pero aquellos con espacios funcionarán).


Linux
  1. Use df para verificar el espacio libre en disco en Linux

  2. Verifique el espacio en disco usado en Linux con du

  3. sys/types.h:No existe tal archivo o directorio

  4. ¿Cómo borrar el espacio libre en disco en Linux?

  5. eliminando archivos pero el espacio en disco todavía está lleno

Comando Df en Linux (Comprobar espacio en disco)

Cómo aumentar el espacio de disco virtual de VM en VirtualBox

Cómo montar un disco NTFS en Linux

¿Diff -r solo para ciertos tipos de archivos?

Comprender su espacio en disco a través del comando 'df' en Linux

Comando Linux df para verificar el espacio en disco