Мне трудно понять, что не так с оболочкой bash, которая должна искать размеры подпапок.
У меня есть папка, в которой много подпапок. Некоторые из этих подпапок называются «PARENT», а внутри этих папок находятся изображения. Я хочу запустить оболочку, которая будет искать каждую из папок PARENT и давать мне общий размер файла. Я собрал оболочку bash, которая должна это сделать.
#!/bin/bash
find /Volumes/COMMON-LIC-PHOTO/STUDIO-COMPLETE/ARCHIVE/01_JIRA_TICKETS/2018/01_2018 \
-type d -iname parent \
-exec du -sm {} \; > All_Parent_2018.csv
Это должно найти каждую подпапку PARENT, найти использование каждого диска и вывести результаты в файл CSV. Сначала я подумал, что это сработало. Однако я заметил, что на самом деле количество МБ, которое он находит, соответствует количеству файлов в каждой подпапке, а не фактическому размеру.
Например, многие из этих папок имеют размер 2,0 МБ, 2 - это количество файлов в этой конкретной папке. Другой вернул 291MB, в нем 291 файл. Я понятия не имею, почему он это делает. -du
буквально переводится как использование диска, поэтому я не знаю, почему он будет считать файлы вместо.