Un giorno, potrebbero esserci molti file con più di un'estensione nel macOS, Linux o server che usi, e potresti chiederti quale sia la dimensione di questi file o semplicemente voler vedere la dimensione dei file con l'estensione corrispondente per uno studio specifico.

L'altro giorno, il server su cui stavo lavorando aveva sia estensioni di file *.webm che *.mp4, e dovevo potenziare il disco del server, oppure avrei eliminato quelli con la stessa estensione .mp4 dagli stessi video.

Ci sono diversi modi per farlo. Descriverò solo tre comandi diversi e più frequentemente utilizzati.

Ad esempio, se non ci sono cartelle nascoste nella directory in cui ti trovi, puoi conoscere la dimensione dei file .jpg in quella directory con il metodo più semplice con il seguente comando.

Prima di tutto, poiché voglio elencare i file jpg che esistono nella mia directory e vederne uno, eseguo il comando qui sotto e mostro il suo output. Controlliamo la mia cartella Documents sul mio Mac, cosa ho.

➜  Documents ls -la | grep jpg
-rw-r--r--@  1 ercanermis  staff  1607683 Feb 26 10:14 wallpaper-for-vertical-monitor.jpg
-rw-r--r--@  1 ercanermis  staff   242165 Aug 19  2019 10155854826986546_245396163509039923.jpg
-rw-r--r--@  1 ercanermis  staff   272199 Feb 26 10:00 C2014_Q2.jpg

Allora quali sono le dimensioni di questi file jpg? Per la risposta alla domanda, il seguente comando è sufficiente.

➜  Documents du -ch *.jpg
1.5M	wallpaper-for-vertical-monitor.jpg
240K	10155854826986546_245396163509039923.jpg
268K	C2014_Q2.jpg
2.0M	total

Se la dimensione totale di questi file è importante per te, puoi fare come segue;

➜  Documents du -ch *.jpg | grep total
2.0M	total

Sono davvero 3 file jpg nella mia cartella Documents?

Non credo e ho deciso di controllare cosa ho dentro. Perché avrò alcuni file o cartelle nascoste. Controlliamo più a fondo quali sono le dimensioni di tutti i file jpg?

➜  Documents find . -type f -name '*.jpg' -exec du -ch {} + | grep total
4.6M	total

Hmm. Ora, dice 4.6M totali ma prima, intendo l'output del comando "du -ch *.jpg | grep total" era 2.0M. Come è possibile? Perché ho file e cartelle nascoste. Controlliamoli.

➜  Documents find . -type f -name '*.jpg' -exec du -ch {} +
1.5M	./free-wallpaper-for-vertical-monitor.jpg
268K	./C2014_Q2.jpg
240K	./10155854826986546_245396163509039923.jpg
372K	./git/Resources/main/1/std-front.jpg
324K	./git/Resources/main/3/std-front.jpg
272K	./git/Resources/main/2/std-front.jpg
696K	./git/Resources/main/splash_background.jpg
4.0K	./git/Resources/popup/social/bg-description.jpg
 40K	./git/Resources/popup/news/background.jpg
 40K	./git/Resources/popup/rooms/bg.jpg
 80K	./git/Resources/popup/bundle-bg-2.jpg
 88K	./git/Resources/popup/bundle-bg-3.jpg
 88K	./git/Resources/popup/bundle-bg-1.jpg
 96K	./git/Resources/popup/bundle-bg-5.jpg
4.0K	./git/Resources/popup/eventLeftScroll.jpg
 92K	./git/Resources/popup/eventBg.jpg
 40K	./git/Resources/popup/progression/upperBg.jpg
8.0K	./git/Other/nd_gcsdk_image_default.jpg
4.0K	./git/Other/nd_gcsdk_loading_bg.jpg
 20K	./git/Other/docs/img.jpg
 84K	./git/Other/docs/framework_architecture.jpg
 44K	./Do_My_Verification/1.jpg
264K	./Do_My_Verification/2.jpg
4.6M	total

Ecco qua! Avevo dimenticato la mia cartella git e ci sono alcuni file jpg al suo interno!

Conclusione

In due modi diversi, hai imparato a controllare le estensioni di file specifiche in una cartella ed elencare la loro dimensione. Puoi eseguire questi comandi sui sistemi operativi CentOS, Ubuntu o macOS.

Funzionerà anche su diverse distribuzioni Linux, come Raspberry Pi.