Comandament Diff de Linux

Comandament Diff De Linux



És més probable que la diferència sigui un concepte o sentiment que pugui distingir una cosa d'una altra. L'ordre 'diff' fa referència a la variació. Mitjançant l'anàlisi dels documents línia per línia, aquesta eina demostra les distincions entre els fitxers. Ens informa quines seccions d'un document s'han d'alterar per crear documents similars, a diferència dels seus elements complementaris cmp i comm. L'aspecte crucial a tenir en compte és que perquè els documents siguin semblants, diff utilitza símbols i ordres especials específics. Se't donen instruccions sobre com modificar el primer document perquè sigui coherent amb l'altre document. Dins d'aquesta guia, parlarem de l'ús de l'ordre 'diff' a Ubuntu 20.04 mitjançant el terminal Linux.

Hem estat creant dos fitxers de text a la carpeta de treball del nostre sistema.









És hora d'utilitzar la instrucció 'diff' en una àrea de consulta per mostrar la diferència entre el contingut dels dos fitxers. Provem aquesta instrucció 'diff' amb els dos noms de fitxer en una seqüència, és a dir, primer un.txt i després dos.txt. L'execució de l'ordre 'diff' ens mostra la diferència entre ambdós fitxers com:



  • Números de línia segons el primer fitxer de text.
  • Caràcters/símbols especials per informar-nos de la diferència, com ara canviar, afegir, suprimir.
  • Números de línia segons el segon fitxer de text.

A la nostra primera il·lustració, expliquem el símbol 'a' entre els números de línia de la sortida de l'ordre 'diff'; 'a' s'utilitza com a abreviatura de 'Afegeix'. L'ús de la instrucció 'cat' amb els dos noms de fitxer a l'àrea de consulta mostra per separat el contingut dins de cada fitxer de text, és a dir, un.txt i dos.txt. Tenim un total de 4 línies dins del primer fitxer mentre que el segon fitxer conté 5 línies. La línia 1 és extra.





A continuació, provem la instrucció 'diff' a l'àrea de consulta del terminal seguida dels noms dels fitxers: un.txt i dos.txt. L'execució d'aquesta instrucció mostra '0a1' com a sortida juntament amb la línia 1 del segon fitxer, que és una línia addicional al segon fitxer. El valor numèric '0' s'utilitza per a la línia 0 o abans de la línia 1 del primer fitxer, és a dir, one.txt. El símbol 'a' significa 'afegir'. Finalment, el valor numèric '1' significa la primera línia del segon fitxer. La sortida de la barreja '0d1' significa que la línia 1 del segon fitxer 'two.txt' s'ha d'afegir a la part superior del primer fitxer 'one.txt' abans que la primera línia dos faci que els dos fitxers siguin iguals.



Ara, actualitzem els dos fitxers per veure una altra il·lustració. El primer fitxer 'one.txt' conté 4 línies i el segon fitxer 'two.txt' només conté 3 línies. L'única diferència per a aquests fitxers és l'ús d'una línia addicional al primer fitxer, és a dir, la línia 1 = 'dilluns' que no es troba al segon fitxer. Després de provar la instrucció 'diff' per als fitxers de text actualitzats, obtenim '1d0' com a sortida. I es mostra la primera línia del primer fitxer. A '1d0', 1 significa que la primera línia del fitxer 'one.txt' s'ha de suprimir (segons el símbol 'd'), i 0 significa que el segon fitxer no s'ha actualitzat. Al final, es mostra la línia 1 del primer fitxer 'one.txt' per a la clara diferència.

De la mateixa manera, l'ordre 'diff' pot mostrar una diferència entre les línies de dos fitxers. Per tant, actualitzem els dos fitxers de text una vegada més. Aquesta vegada, el primer fitxer conté 5 línies mentre que el segon fitxer només en conté 4. L'única diferència és l'ús d'una línia addicional en one.txt, que és la línia 3. L'ordre diff utilitzada en els dos fitxers del terminal mostra un sortir '3d2' juntament amb la línia 3 del primer fitxer 'one.txt'. Aquesta sortida mostra que la línia 3 del primer fitxer 'one.txt' s'hauria de suprimir perquè puguem sincronitzar tots dos fitxers a la línia 2 del segon fitxer. Es mostra la línia diferent '3' perquè puguem tenir una idea clara de la diferència.

Fem una ullada clara i profunda a la sortida. La sortida 1,5c1,2 de la imatge següent mostra que les línies 1 a 5 d'un primer fitxer (one.txt) s'han de canviar amb les línies 1 a 2 d'un segon fitxer (two.txt). Significa que les 5 primeres línies (1 a 5) del fitxer one.txt s'han de canviar i substituir per les dues primeres línies (1, 2) del segon fitxer 'two.txt' perquè sigui igual. Al final, es mostren les 5 línies del primer fitxer que s'han de substituir per les 2 línies que es mostren del segon fitxer. Així és com el símbol 'c' indica la diferència entre dos fitxers: cap línia és igual en ambdós fitxers.

L'ordre 'diff' us permet obtenir la seva sortida en forma de context. Imagineu que teniu els mateixos dos fitxers amb les dades següents en aquests fitxers. El context al voltant de la sortida seria mostrar la diferència principal entre el total de fitxers simples que es mostren a la imatge següent. Ara, tenim 5 línies al primer fitxer 'one.txt' i 4 línies al segon fitxer 'two.txt'.

Per obtenir la sortida basada en el context de la instrucció 'diff', hem d'utilitzar l'opció '-c' dins de l'ordre 'diff'. Utilitzant els fitxers actualitzats anteriorment en aquesta ordre 'diff', obtenim la següent sortida: data, dia, juntament amb la informació addicional sobre la creació de text dins dels fitxers. Es mostren les 5 línies dels fitxers one.txt. Sobretot, la seva tercera línia es ressalta amb el caràcter '-' per afegir-la a un altre fitxer.

Conclusió

Hem intentat explicar breument tot sobre la instrucció 'diff'. Per això, vam actualitzar els nostres fitxers de text cada vegada i vam obtenir una sortida actualitzada per afegir, eliminar i canviar les dades d'un fitxer. La introducció va explicar el propòsit d'utilitzar l'ordre 'diff' a Linux i com utilitzar-lo per a Linux.