2012-05-22 25 views
12

Ho due file che l'ordine delle righe è irrilevante e voglio confrontarne il contenuto.Confronta due file ignorando l'ordine

Ho esaminato la documentazione diff ma non ho trovato nulla come --ignore-order.

Qualche consiglio?

PS: $ non ha funzionato nel mio computer, forse sono frainteso.

+0

puoi mostrare un breve snippet dei due file e un esempio di ciò che desideri? – matchew

+1

'$' indica il prompt dei comandi, basta digitare il resto della linea dopo di esso. – Kevin

risposta

35

ordinare i file prime:

$ sort file1 > file1.sorted 
$ sort file2 | diff - file1.sorted 

Inoltre, anche se io personalmente scoraggiare questo genere di cose, se si utilizza bash e questa funzione è abilitata sul vostro sistema si può evitare il file temporaneo utilizzando un processo sostituzione:

$ diff <(sort file1) <(sort file2) 
+0

seconda soluzione è elegante af – CTodea

2

Forse stai guardando il problema dal lato sbagliato. Forse ti piacerebbe ordinare entrambi i file e poi confrontarli?

In caso contrario,

diff file1 file2 

farebbe esattamente quello che stai chiedendo.