Показать размер директорий из списка
Столкнулся с такой задачей.
Дан список из имен директорий dir_list, которые нужно найти и удалить. Для отчетности требуется предварительно сохранить в файл список со следующими параметрами:
РАЗМЕР ИМЯ ВРЕМЯ_МОДИФИКАЦИИ
Пока что приходится в ручную редактировать вывод
~# while read dir; do find /library -maxdepth 1 -type d -name "$dir" -print0 | xargs -0 du -hs; done < dir_list
~# while read dir; do find /library -maxdepth 1 -type d -name "$dir" -printf "%f %c\n"; done < dir_list
Система Ubuntu GNU/Linux со стандартным набором утилит. Оболочка - bash. Объём поиска 20.0ТБ.
У вопроса есть решение - Посмотреть?

Источник

@0andriy размер занимаемый на диске.
Источник

Это не ответ на вопрос. Почему? Подумайте сами — отличное задание для немного более глубокого понимания об ФС и данных. А ответ на ваш вопрос фактически у меня в первом комментарии.
Источник

Дело в том, что нужна дополнительная информация в одном списке. Я прогоняю два поиска потом суммирую в редакторе.
Источник
Ответы - Показать размер директорий из списка / Показать размер директорий из списка
Является ответом!

07.07.2017 02:20:23
вызов программ find/xargs здесь явно излишен.
обёртку в виде цикла можно представить примерно так (здесь report
— файл с отчётом):
$ while read d; do dir="/library/$d"; ...; done < dir_list > report
а вместо двоеточия надо выполнить два действия:
получение данных для отчёта. например, так:
stat --printf="$(du -hs "$dir") %y\n" "$dir"
собственно удаление каталога. например, так:
rm -rf "$dir"
итого в одну строку:
$ while read d; do dir="/library/$d"; stat --printf="$(du -hs "$dir") %y\n" "$dir"; rm -rf "$dir"; done < dir_list > report
пример (каталоги намеренно содержат пробел в имени, для демонстрации: так тоже работает):
$ cat dir_list
a b
c d
$ while read d; do dir="/library/$d"; stat --printf="$(du -hs "$dir") %y\n" "$dir"; rm -rf "$dir"; done < dir_list > report
$ cat report
4.0K /library/a b 2017-07-07 01:53:55.109088360 +0300
4.0K /library/c d 2017-07-07 02:09:00.533072146 +0300

@alexander_barakin гляну завтра. find нужен так как dir_list содержит имена директорий, а не полные пути. они могут быть разбросанны по дереву где угодно.

в примере у вас просматривается лишь непосредственное содержимое каталога
/library
. исходя из этой информации я и писал ответ.

@alexander_barakins за пункт 1. отдельное спасибо, думал форматирование подлерживает только % дироективы.
Помочь в развитии проекта: