Mac: Wie finde ich rekursiv die größten Dateien in einem Unterverzeichnis (unter Ignorierung aller Verzeichnisse)

Mac: Wie finde ich rekursiv die größten Dateien in einem Unterverzeichnis (unter Ignorierung aller Verzeichnisse)

Ich habe ein Verzeichnis namens root. Es hat tief verschachtelte Unterverzeichnisse. In diesen Unterverzeichnissen befinden sich eine Menge Dateien. Ich möchte die größten Dateien in finden root.

ICHnichtmöchte überhaupt Verzeichnisse finden. Die Größe des größten Verzeichnisses ist mir egal, ich möchte nur die größten Dateien finden.

root
|
- subdir1
  |
  - small file 1
  - large file 1
  - small file 2
  ... lots more files      
- subdir2
  |
  - small file 3
  - large file 2

large file 1Ich möchte und ausdrucken . Ich möchte nicht, dass irgendetwas über , , oder large file 2ausgedruckt wird , selbst wenn diese größer als oder sind . Für mich ist das einfach nur Lärm. rootsubdir1subdir2large file 12

Wie mache ich das auf einem Mac über die Befehlszeile?

Antwort1

Lassen Sie lsuns die Sortierung übernehmen ->

find . -type f -exec ls -S {} + | head -n10

Antwort2

Das ist dabei herausgekommen:

find . -type f -exec ls -l {} + | sort -rk 5,5 | head -10

Finde alle Dateien (Verzeichnisse werden dabei ignoriert) und dann ls -ldiese, damit ich ihre Größe sehen kann. Übergebe das an sort. -k 5,5sagt, dass nach der 5. Spalte (der Spalte mit der Größe) sortiert werden soll, und -rsortiert absteigend. head -10gibt mir die größten 10 (nicht die vollständige Liste).

verwandte Informationen