Используйте find
чтобы получить список файлов в каждом дереве, отсортировать их, а затем использовать diff
или comm
для сравнения. Малоизвестная команда comm
- это специализированный инструмент сравнения файлов, который просто различает строки, появляющиеся только в первом файле, строки, появляющиеся только во втором файле, и строки, появляющиеся в обоих файлах.
(cd /some/dir1 && find . | sort >/tmp/dir1.find)
(cd /where/dir2 && find . | sort >/tmp/dir2.find)
# Show the files that are in dir1 but not in dir2
comm -23 /tmp/dir1.find /tmp/dir2.find
# Show the files that are in dir2 but not in dir1
comm -13 /tmp/dir1.find /tmp/dir2.find