¿Cómo determinar si el file es solo una permutación de otro?

Considere, por ejemplo, un file de código fuente, donde las funciones se barajan drásticamente. ¿Hay un command para verificar si el reorderamiento de las líneas es el único cambio?

(eso significa que no se agregaron, eliminaron o cambiaron líneas)

La respuesta simple es: "comparar la versión orderada de ambos files".
En bash :

 diff <(sort file1) <(sort file2) 

Obviamente, esto no significa que los dos files tengan la misma semántica que los files fuente de un lenguaje de progtwigción (suponiendo que ambos sean sintácticamente correctos).

Menciono esto solo porque quiero que alguien escriba una versión de GNU …

Brenda S. Baker , ex integrante de Bell Labs, escribió un sistema llamado dup que hizo lo que quiere hacer y más. Podría usar dup para comparar dos sistemas de lenguaje C y encontrar código duplicado: una function copyda y variables renombradas o algunos cambios menores.

Todo el SCOg Fiasco podría haberse evitado si una persona ética en SCO hubiera comparado la fuente de Linux con la "propiedad intelectual" de The Precious SCO.