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 1
Ich möchte und ausdrucken . Ich möchte nicht, dass irgendetwas über , , oder large file 2
ausgedruckt wird , selbst wenn diese größer als oder sind . Für mich ist das einfach nur Lärm. root
subdir1
subdir2
large file 1
2
Wie mache ich das auf einem Mac über die Befehlszeile?
Antwort1
Lassen Sie ls
uns 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 -l
diese, damit ich ihre Größe sehen kann. Übergebe das an sort. -k 5,5
sagt, dass nach der 5. Spalte (der Spalte mit der Größe) sortiert werden soll, und -r
sortiert absteigend. head -10
gibt mir die größten 10 (nicht die vollständige Liste).