Aquesta guia us mostrarà com utilitzar Linux per comparar dos fitxers i mostrar la seva diferència a la pantalla oa un fitxer.
No cal instal·lar cap programari especial per comparar fitxers amb Linux, però cal saber com obrir una finestra de terminal .
Com mostra la guia vinculada, hi ha moltes maneres d'obrir una finestra de terminal amb Linux. El més simple és prémer les tecles CTRL, ALT i T al mateix temps.
Creació d'arxius per comparar
Per seguir juntament amb aquesta guia, creeu un fitxer anomenat "fitxer1" i introduïu el text següent:
10 ampolles verdes situades sobre una paret
10 ampolles verdes situades sobre una paret
Si una ampolla verda caigués accidentalment
Hi haurien 9 ampolles verdes situades a la paret
Podeu crear un fitxer seguint aquestes instruccions:
- Obriu el fitxer escrivint el següent comandament: nano file1
- Escriviu el text a l'editor de nano
- Premeu CTRL i O per desar el fitxer
- Premeu CTRL i X per sortir del fitxer
Ara creeu un altre fitxer anomenat "file2" i introduïu el text següent:
10 ampolles verdes situades sobre una paret
Si 1 ampolla verda caigués accidentalment
Hi havia 9 ampolles verdes situades a la paret
Podeu crear un fitxer seguint aquestes instruccions:
- Obriu el fitxer escrivint l'ordre següent: nano file2
- Escriviu el text a l'editor de nano
- Premeu CTRL i O per desar el fitxer
- Premeu CTRL i X per sortir del fitxer
Com comparar dos fitxers amb Linux
L'ordre utilitzat a Linux per mostrar les diferències entre dos fitxers s'anomena comanda diff.
La forma més senzilla de la comanda diff és la següent:
fitxer diff file1
Si els fitxers són iguals, no hi haurà cap sortida quan s'utilitzi aquesta comanda, però, ja que hi ha diferències, veureu resultats similars als següents:
2,4c2,3
<10 ampolles verdes situades a la paret
...
> Si 1 ampolla verda caigués accidentalment
> Hi hauria haver 9 ampolles verdes situades a la paret
Inicialment, la sortida pot semblar confusa, però una vegada que enteneu la terminologia, és bastant lògica.
Usant els vostres propis ulls, podeu veure que les diferències entre els 2 fitxers són els següents:
- El segon fitxer només té tres línies, mentre que el primer fitxer té 4.
- El segon fitxer diu "1 ampolla verda" a la tercera línia mentre que el primer fitxer diu "una ampolla verda"
- El segon fitxer diu que "hi hauria" en lloc de "hi hauria" a la línia final
La sortida de la comanda diff mostra que entre les línies 2 i 4 del primer fitxer i les línies 2 i 3 del segon fitxer hi ha diferències.
A continuació, enumera les línies de 2 a 4 del primer fitxer seguit de les dues línies diferents del segon fitxer.
Com mostrar només si els fitxers són diferents
Si només voleu saber si els fitxers són diferents i no us interessa quines línies són diferents, podeu executar el següent comandament:
diff -q file1 file2
Si els fitxers són diferents, es mostrarà el següent:
Els fitxers file1 i file2 difereixen
Si els fitxers són iguals, no es mostrarà res.
Com mostrar un missatge si els fitxers són iguals
Quan executeu una comanda, voleu saber que ha funcionat correctament, de manera que voleu que es mostri un missatge quan executeu la comanda diff independentment de si els fitxers són iguals o diferents
Per aconseguir aquest requisit mitjançant l'ordre diff, podeu utilitzar el següent comandament :.
diff -s file1 file2
Ara, si els fitxers són iguals, rebrà el missatge següent:
Els fitxers file1 i file2 són idèntics
Com produir les diferències Un cop a banda
Si hi ha moltes diferències, pot convertir-se ràpidament en confús quant a quines diferències realment existeixen entre els dos fitxers.
Podeu canviar la sortida de l'ordre diff per tal que els resultats es mostrin un al costat de l'altre. Per fer-ho, executeu el següent comandament:
diff -y file1 file2
La sortida del fitxer utilitza el Símbol per mostrar una diferència entre les dues línies, un per mostrar una línia que s'ha afegit.
Curiosament, si executeu l'ordre usant els nostres fitxers de demostració, totes les línies es mostraran tan diferents a excepció de l'última línia del fitxer 2 que es mostrarà que s'ha eliminat.
Restringir les amples de la columna
Quan es comparen dos fitxers un al costat de l'altre, pot ser difícil de llegir si els fitxers tenen moltes columnes de text.
Per restringir una sèrie de columnes, utilitzeu l'ordre següent:
diff - width = 5 file file2
Com ignorar diferències de cas en comparar fitxers
Si voleu comparar dos fitxers però no us importa si el cas de les lletres és el mateix entre els dos fitxers, podeu utilitzar el següent comandament:
diff -i file1 file2
Com ignorar l'espai blanc final al final d'una línia
Si al comparar els fitxers es nota una gran quantitat de diferències i les diferències són causades per l'espai en blanc al final de les línies, podeu ometre-les com a modificacions executant l'ordre següent:
diff -Z file1 file2
Com ignorar totes les diferències d'espai blanc entre dos fitxers
Si només us interessa el text d'un fitxer i no us preocupa si hi ha més espais en un que l'altre, podeu utilitzar el següent comandament:
fitxer diff -w file1
Com ignorar línies en blanc en comparar dos fitxers
Si no us importa que un sol fitxer tingui línies en blanc addicionals, podeu comparar els fitxers amb l'ordre següent:
diff -B file1 file2
Resum
Podeu trobar més informació llegint el manual de l'ordre diff.
home dif
La comanda diff es pot utilitzar de la forma més simple per mostrar les diferències entre dos fitxers, però també podeu utilitzar-lo per crear un fitxer diff com a part d'una estratègia de parchement tal com es mostra en aquesta guia al comandament de parche de Linux .
Una altra ordre que podeu utilitzar per comparar fitxers és l'ordre cmp que mostra aquesta guia . Això compara els fitxers byte by byte.