find . -size +10240k -exec ls -l {} \; | awk '{ print $5,"",$9 }'|sort -rn > message.out
Команда find
используется для поиска файлов и директорий в указанной директории и ее поддиректориях. В данном случае команда ищет файлы в текущей директории (.
) и ее поддиректориях, размер которых превышает 10240 килобайт (10 МБ).
Опция -exec
позволяет выполнить команду для каждого найденного файла. В данном случае, команда ls -l {} \;
выполняется для каждого найденного файла и выводит детальную информацию о файле.
Результаты выполнения команды ls -l
передаются в команду awk
, которая осуществляет обработку вывода команды ls -l
. Конкретно, она извлекает размер файла и его имя, и разделяет их пробелами.
Затем, результаты обработки передаются в команду sort -rn
, которая сортирует записи в порядке убывания размера файла.
Наконец, символ >
перенаправляет результаты сортировки в файл с именем message.out
.
Альтернативой такому подходу может быть использование команды du -k
для получения размера файлов, а затем сортировка этих размеров с помощью команды sort -rn
. Однако, эта команда не позволит получить имена файлов.