find -type f -printf "%S=:=%p\n" 2>/dev/null | gawk -F'=:=' '{if ($1 < 1.0) print $1,$2}'
Команда find используется для поиска файлов и каталогов в указанной директории. В данном случае команда выполняет следующие действия:
1. find -type f — ищет только обычные файлы (исключая директории и символические ссылки).
2. -printf "%S=:=%p\n" — для каждого найденного файла выводит его размер (%S) и путь (%p), разделенные строкой =:=.
3. 2>/dev/null — перенаправляет сообщения об ошибках на устройство /dev/null (игнорирует их).
4. | gawk -F'=:=' '{if ($1 < 1.0) print $1,$2}' — передает вывод команды find в команду gawk, разбивая строки на поля с помощью разделителя =:=. Затем, если первое поле (размер файла) меньше 1.0, выводит его и второе поле (путь к файлу).
Таким образом, данная команда позволяет найти разреженные файлы (файлы, занимающие на диске меньше места, чем указанное в их размере) в указанной директории. Альтернативой может быть использование других фильтров find или комбинация с другими утилитами для обнаружения разреженных файлов. В данном случае используется gawk для более сложной обработки вывода.
