Перечислите папки размером более 10G и отправьте их соответствующим владельцам об использовании

В нашей среде у нас есть монтирование NFS, которое содержит все домашние каталоги пользователей.

Я хочу найти пользователей, размеры домашних каталогов которых больше 10G и отправить уведомление им. Я пытался:

du -sh * | sort -hr 

Это работало как шарм, но я не смог найти команду для извлечения каталогов размером> 10 G.

Я попытался find . -size +10G -exec ls -lhS {} \; find . -size +10G -exec ls -lhS {} \; но это не сработало.

Каков наилучший способ найти / извлечь каталоги размером более 10G?

Это должно сделать это.

Если первый столбец (размер) превышает 10 гб, выведите второй столбец (имя каталога)

 du -sk * | awk '$1 > 10485760 { print $2 }' 

Или, как просили, показать в удобочитаемой форме, как показано ниже. Регулярное выражение гарантирует, что столбец 1 заканчивается в G (гигабайт), а часть substr разделяет окончательную букву из столбца 1 и смотрит, будет ли она больше 10.

 du -sh * | awk '$1 ~ /G$/ && substr($1,0,length($1)-1) > 10 { print $0 }' 

Пример:

 du -sh * 2.5G steve du -sh * | awk '$1 ~ /G$/ && substr($1,0,length($1)-1) > 1 { print $0 }' 2.5G steve du -sh * | awk '$1 ~ /G$/ && substr($1,0,length($1)-1) > 3 { print $0 }' (no output)