Используя gnu find, я думаю, это то, что вы хотите. Он находит все реальные файлы, а не каталоги (-type f), и для каждого из них печатает имя файла (% p), табуляцию (\ t), размер в килобайтах (% k), суффикс "KB", а затем перевод строки (\ n).
find . -type f -printf '%p\t%k KB\n'
Если команда printf не форматирует вещи так, как вы хотите, вы можете использовать exec, а затем команду, которую вы хотите выполнить для каждого файла. Используйте {} для имени файла и завершите команду точкой с запятой (;). В большинстве оболочек все три из этих символов должны иметь обратную косую черту.
Вот простое решение, которое находит и распечатывает их, используя «ls -lh», который покажет вам размер в удобочитаемой форме (k для килобайт, M для мегабайт):
find . -type f -exec ls -lh \{\} \;
В качестве еще одной альтернативы, "wc -c" напечатает количество символов (байтов) в файле:
find . -type f -exec wc -c \{\} \;