Μια μέρα, μπορεί να υπάρχουν πολλά αρχεία με περισσότερες από μία επεκτάσεις στο macOS, Linux ή τον server που χρησιμοποιείς και μπορεί να αναρωτιέσαι για το μέγεθος αυτών των αρχείων ή απλά να θέλεις να δεις το μέγεθος των αρχείων με την αντίστοιχη επέκταση για μια συγκεκριμένη μελέτη.

Τις προάλλες, ο server στον οποίο δούλευα είχε και επεκτάσεις *.webm και *.mp4 και έπρεπε να αναβαθμίσω το δίσκο του server ή θα διέγραφα αυτά με την ίδια επέκταση .mp4 από τα ίδια βίντεο.

Υπάρχουν πολλοί τρόποι για να το κάνεις αυτό. Θα περιγράψω μόνο τρεις διαφορετικές και πιο συχνά χρησιμοποιούμενες εντολές.

Για παράδειγμα, αν δεν υπάρχει κρυφός φάκελος στον κατάλογο στον οποίο βρίσκεσαι, μπορείς να μάθεις το μέγεθος των .jpg αρχείων σε αυτόν τον κατάλογο με την πιο απλή μέθοδο με την παρακάτω εντολή.

Πρώτα απ' όλα, καθώς θέλω να απαριθμήσω τα jpg αρχεία που υπάρχουν στον κατάλογό μου και να δω ένα, τρέχω την παρακάτω εντολή και εμφανίζω την έξοδό της. Ας ελέγξουμε τον φάκελο Documents στο Mac μου, τι έχω.

➜  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

Τότε ποια είναι τα μεγέθη αυτών των jpg αρχείων; Για την απάντηση στην ερώτηση, η παρακάτω εντολή είναι επαρκής.

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

Αν το συνολικό μέγεθος αυτών των αρχείων είναι σημαντικό για σένα, μπορείς να κάνεις τα εξής:

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

Είναι πραγματικά 3 jpg αρχεία στον φάκελο Documents μου;

Δεν το νομίζω και αποφάσισα να ελέγξω τι έχω μέσα. Επειδή θα έχω μερικά κρυφά αρχεία ή φακέλους. Ας ελέγξουμε βαθύτερα ποια είναι τα μεγέθη όλων των jpg αρχείων;

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

Χμμ. Τώρα, λέει 4.6M συνολικά αλλά προηγουμένως, εννοώ η έξοδος της εντολής "du -ch *.jpg | grep total" ήταν 2.0M. Πώς είναι δυνατόν; Επειδή έχω κρυφά αρχεία και φακέλους. Ας τα ελέγξουμε.

➜  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

Ορίστε! Ξέχασα τον git φάκελό μου και έχω μερικά jpg αρχεία μέσα του!

Συμπέρασμα

Με δύο διαφορετικούς τρόπους, έμαθες να ελέγχεις τις συγκεκριμένες επεκτάσεις αρχείων σε έναν φάκελο και να εμφανίζεις το μέγεθός τους. Μπορείς να τρέξεις αυτές τις εντολές σε CentOS, Ubuntu ή macOS λειτουργικά συστήματα.

Θα λειτουργήσει επίσης σε διαφορετικές διανομές Linux, όπως το Raspberry Pi.