Я работаю с AIX, и мне нужно узнать общую сумму файлов, созданных в каталоге за последние 30 дней. Мне уже удалось извлечь в файл все, что было создано за эти 30 дней, и с помощью команды AWK мне удалось создать еще один файл, в котором у меня есть вес каждого из этих файлов. В заключение, у меня уже есть файл с весом каждой строки, но мне нужно добавить каждый, чтобы получить общий вес, и я не знаю, как это сделать. Важно уточнить, что там около 2 000 000 строк. Спасибо
Чтобы получить сумму размеров файлов, перечисленных по одному в строке в file.list
(предполагается, что имена файлов не содержат символов новой строки):
perl -lne '$sum+=-s; END{print $sum}' file.list
Обратите внимание, что для символических ссылок это считается размер цели символической ссылки.
Это видимый размер, который обычно отличается от использования диска.
Эта команда покажет сумму размеров файлов, которые были изменены за последние 30 дней:
find. -mtime -30 -exec stat -c %s {} \; | awk '{SUM+=$1}END{print SUM}'
Редактировать :сумму файлов
Я использую эту команду, и она работает:
awk '{suma=0; for (i=1; i<=NF; i++) suma=$i;sumatotal=sumatotal+suma; print sumatotal}' COT2
COT2 — это имя файла. Я получаю общий размер в КБ, а затем конвертирую это число в ГБ.