find -type f -printf "%S\t%p\n" 2>/dev/null | gawk '{if ($1 < 1.0) print $1 $2}'
find команда используется для поиска файлов и директорий в файловой системе. Аргумент -type f указывает, что нужно искать только обычные файлы. -printf «%s\t%p\n» определяет формат вывода: размер файла и его путь, разделенные табуляцией.
2>/dev/null перенаправляет ошибки в «пустоту», то есть игнорирует любые ошибки, которые могут возникнуть при поиске файлов.
gawk команда выполняет текстовый анализ и манипуляцию строк. Здесь используется для фильтрации найденных файлов.
‘{if ($1 < 1.0) print $1 $2}' говорит, что нужно вывести только файлы, размер которых меньше 1.0 блока и их пути.
Эта команда полезна, когда нужно найти разреженные файлы, размер которых значительно меньше размера, отведенного для них в файловой системе.
Альтернативным подходом может быть использование команды du для определения размера файлов и фильтрация результатов с помощью awk или grep.