Можно сделать ls рекурсивно и сделать diff по выводу ls
UPD: вот такое решение мне предложил ChatGPT:
diff \
<(find <путь_к_первой_папке> -type f -exec stat -c "%s %n" {} \; | sort) \
<(find <путь_к_второй_папке> -type f -exec stat -c "%s %n" {} \; | sort)
Это решение использует `find` для рекурсивного обхода директорий и поиска всех файлов. Затем команда `stat -c "%s %n"` используется для получения размера файла и его полного пути. Результаты обоих `find` команд сортируются перед сравнением с помощью `diff`.
Вы можете заменить `<путь_к_первой_папке>` и `<путь_к_второй_папке>` на соответствующие пути к папкам, которые вы хотите сравнить.
UPD2: Более лаконичный вариант через rsync (но не факт что работает):
rsync -n -r --size-only <путь_к_первой_папке>/ <путь_к_второй_папке>/
Это решение использует `rsync` с опцией `-n` для симуляции операции без фактического копирования файлов. Опция `-r` используется для рекурсивного обхода директорий, а `--size-only` для сравнения только размеров файлов, без проверки содержимого.
Вы можете заменить `<путь_к_первой_папке>` и `<путь_к_второй_папке>` на соответствующие пути к папкам, которые вы хотите сравнить.