2014-12-16 11 views
6

Sto cercando di eseguire un confronto riga per riga dei contenuti in file utilizzando Beyond Compare 3 o 4. Esiste un avvertimento. Le linee non hanno necessariamente lo stesso ordine nei file. Esempi indicatiConfronto riga per riga (ignorando l'ordine) utilizzando Beyond Compare 3 o 4

Esempio 1:

File 1 contents: 
value1.key=mango 
value2.key=pear 

File 2 contents: 
value2.key=pear 
value1.key=mango 

This should say "files identical" on comparison. 

Esempio 2:

File 1 contents: 
value1.key=mango 
value2.key=pear 
value3.key=apple 

File 2 contents: 
value2.key=pear 
value3.key=banana 
value1.key=mango 

This should report only the following in the comparison: 
value3.key=apple | value3.key=banana 

Esempio 3:

File 1 contents: 
value1.key=mango 
value2.key=pear 
value3.key=apple 

File 2 contents: 
value3.key=apple 
value1.key=mango 

This should report only the following in the comparison: 
value2.key=pear 

Can qualcuno per favore dimmi se questo è realizzabile usando Beyond Compare?

+0

Se è possibile ordinare prima entrambi i file, questo potrebbe sicuramente essere fatto con 'diff',' comm', e probabilmente anche con Beyond Compare (non ho molta familiarità con esso, però). Se non puoi ordinare i file, qualcosa come 'awk',' python' o 'perl' potrebbe essere usato per costruire un hash/map/dict delle linee in ogni file e quindi controllare che siano equivalenti ... – twalberg

+0

Ci ho pensato. Mi stavo chiedendo se c'è comunque che possiamo fare senza lo smistamento. C'è anche il comando {{sort}} in dos disponibile per ordinare il contenuto del file. – naspras

risposta

14

Per chi ancora interessato:

Quando si confrontano i file è possibile scegliere il formato di file (dal pulsante della barra degli strumenti "formato"), basta scegliere "ordinati" e si può raggiungere questo tipo di confronto.

Problemi correlati