Это классическая задача .
Если бы мне пришлось быстро и грязно это сделать, я бы, вероятно, сделал что-то вроде diff -U 1000000 (предполагая версию diff, которая его поддерживает), пропустив через sed, чтобы получить общие линии ведущие пространства). Однако вам придется перебрать все файлы.
Редактировать: я забыл, что есть также реализация Tcl , которая была бы немного более универсальной, но потребовала бы большего кодирования. Возможно, вы сможете найти реализацию для вашего языка по вашему выбору.