GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Messen Sie den Speicherplatz bestimmter Dateitypen insgesamt

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


Dadurch wird die Speicherplatznutzung in Byte nach Erweiterung gemeldet:

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

Ausgabe:

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

Ganz einfach:

du -ch *.txt

Wenn Sie nur möchten, dass der gesamte belegte Speicherplatz angezeigt wird, dann:

du -ch *.txt | tail -1

Hier ist eine Möglichkeit, dies zu tun (unter Linux mit GNU Coreutils du und Bash-Syntax), um schlechte Praktiken zu vermeiden:

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

Wenn Sie das aktuelle Verzeichnis ausschließen möchten, verwenden Sie -mindepth 2 mit find .

Eine andere Version, die keine Bash-Syntax erfordert:

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

Beachten Sie, dass diese nicht richtig mit Dateinamen funktionieren, die Zeilenumbrüche enthalten (aber solche mit Leerzeichen funktionieren).


Linux
  1. Verwenden Sie df, um den freien Speicherplatz unter Linux zu überprüfen

  2. Überprüfen Sie den belegten Speicherplatz unter Linux mit du

  3. Reduzieren der Festplatten-E/A zur Leistungssteigerung

  4. Rsync Zwei Dateitypen in einem Befehl?

  5. Wie tariere ich bestimmte Dateitypen in allen Unterverzeichnissen?

Df-Befehl in Linux (Speicherplatz prüfen)

So erhöhen Sie den virtuellen Speicherplatz der VM auf VirtualBox

So mounten Sie eine NTFS-Festplatte unter Linux

Diff -r nur für bestimmte Dateitypen?

Verstehen Ihres Speicherplatzes durch den Befehl „df“ in Linux

Linux-df-Befehl zum Überprüfen des Speicherplatzes