|
0 / 0 / 0
Регистрация: 11.12.2016
Сообщений: 18
|
|
Подсчитать для каталога и его подкаталогов суммарный размер и количество файлов в заданном диапазоне размеров18.03.2019, 21:19. Показов 9576. Ответов 1
Написать скрипт, считающий для заданного каталога и всех его подкаталогов суммарный размер и количество файлов в заданном диапазоне размеров файлов (имя каталога задаётся пользователем в качестве аргумента командной строки, 2,3 аргументы командной строки диапазон размеров). Результаты выводятся на консоль в виде полный путь, количество файлов, суммарный размер.
Огромная благодарность за помощь!
0
|
|
| 18.03.2019, 21:19 | |
|
Ответы с готовыми решениями:
1
Вывести суммарный размер в байтах файлов каталога Как в PS1 выводить количество файлов и подкаталогов домашнего каталога? Удаления файлов с каталога ( и подкаталогов) если размер больше 5 Гб |
|
|
|||||||||||||||||||||
| 19.03.2019, 10:54 | |||||||||||||||||||||
Сообщение было отмечено Vollan как решение
Решение
Раз нужно написать скрипт, значит создадим файл с именем например test.sh
Напишем вверху особую строчку называющуюся Sha-bang! вызывающую интерпретатор bash #!/bin/bashНам нужна тулза способная искать рекурсивно файлы определенного размера и выводить путь к ним плюс сам размер Второе. Нам необходимо будет посчитать их количество и сложить их размер. С первой задачей может справиться утилита find. Чтобы посмотреть нужные опции введите в терминале LESS=+/"-size" man findМожете воспользоваться этой частью man страницы для вывода справки по использованию размеров диапазона. Давайте напишем образец. Так как нужен в выводе полный путь к файлам, а заданный в параметре путь может быть как полным так и относительным, применим конструкцию $(cd $1; pwd) приобразующую любой корректный путь в полный. Пока наш скрипт не рабочий просто подставляем в начало строки команду echo которую обязуемся в дальнейшем убрать echo find $(cd $1; pwd)Добавим нашему файлу права на выполнение chmod 755 test.shИ запустим получившийся скрипт
Добавим например маску имени файла echo find $(cd $1; pwd) -name "*.txt"Или лучше укажем например тип простого файла, ну чтобы отсеить каталоги и ссылки echo find $(cd $1; pwd) -type fТеперь напишем фильтр по которому команда find будет отбирать файлы нужного нам размера Определимся сразу, чтобы не переусложнять скрипт, что все размеры файлов у нас будут в байтах echo find $(cd $1; pwd) -type f -size +"$2"c -a -size -"$3"cКстати тут кроется небольшая тонкость. В указанный диапазон не попадают файлы совпадающие с самими заданными границами размеров. Тоесть по условию +size > file < -size. Если есть необходимость чтобы размеры отобраных файлов включали и границы заданого диапазона, необходимо начальный размер уменьшить на еденицу а замыкающий размер соответственно увеличить на единицу. Готово. Теперь нам понадобится отформатировать вывод. Посмотрим внимательно в инструментарий команды find LESS=+/"-printf format" man findЕсть подходящие квантификаторы к опции -fprintf Выведем каждый найденный файл в одной строке с параметрами разделенными пробелом. В первом параметре определим полный путь к файлу, а во втором его размер в байтах. find $(cd $1; pwd) -type f -size +$2 -a -size -$3 -printf "%p %s\n"Вот теперь можно убрать команду echo и сделать пробный заезд
Переходим ко второй части задания, подсчета файлов и общего тоннажа стопки Я не буду ломать себе голову и воспользуюсь инструментом awk который с подобной работой справляется на раз Перенаправим вывод команды find на вход утилиты awk через конвеер
Добавлю только что необходимо включить в скрипт проверку на корректность вводимых данных. Добавлено через 17 минут У меня возникло сомнение что необходимо выводить так: Полный путь К КАТАЛОГУ Число найденных файлов в этом каталоге Общий размер файлов в этом каталоге Тогда программа срочно принимает вид
1
|
|||||||||||||||||||||
| 19.03.2019, 10:54 | |
|
Помогаю со студенческими работами здесь
2
Перенос файлов из каталога и всех его подкаталогов в одну папку Подсчитать количество подкаталогов и файлов В заданном каталоге и его подкаталогах найти общее количество подкаталогов В заданном каталоге и его подкаталогах найти общее количество подкаталогов. На экран вывести только требуемый результат. Использовать цикл FOR /D Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|