Comanda Linux Diff

Comanda Linux Diff



Este mai probabil ca diferența să fie un concept sau un sentiment care poate distinge un lucru de altul. Comanda „diff” se referă la variație. Analizând documentele rând cu rând, acest instrument demonstrează diferențele dintre fișiere. Ne informează ce secțiuni dintr-un document trebuie modificate pentru a crea documente similare, spre deosebire de elementele sale însoțitoare cmp și comm. Aspectul crucial de reținut este că pentru ca documentele să fie similare, diff utilizează simboluri și comenzi speciale specifice. Vi se oferă instrucțiuni despre cum să modificați primul document, astfel încât să fie în concordanță cu celălalt document. În acest ghid, vom discuta despre utilizarea comenzii „diff” în Ubuntu 20.04 folosind terminalul Linux.

Am creat două fișiere text în folderul de lucru al sistemului nostru.









Este timpul să utilizați instrucțiunea „diff” într-o zonă de interogare pentru a afișa diferența dintre conținutul ambelor fișiere. Încercăm această instrucțiune „diff” cu ambele nume de fișiere într-o secvență, adică unul.txt mai întâi și apoi fișierul doi.txt. Execuția comenzii „diff” ne arată diferența dintre ambele fișiere ca:



  • Numerele liniilor conform primului fișier text.
  • Caractere/simboluri speciale pentru a ne informa despre diferență, cum ar fi modificarea, adăugarea, ștergerea.
  • Numerele liniilor conform celui de-al doilea fișier text.

În prima noastră ilustrație, elaborăm simbolul „a” dintre numerele de linie ale ieșirii comenzii „diff”; „a” este folosit ca abreviere pentru „Add”. Utilizarea instrucțiunii „cat” cu ambele nume de fișiere în zona de interogare afișează separat conținutul din interiorul fiecărui fișier text, adică one.txt și two.txt. Avem un total de 4 linii în primul fișier, în timp ce al doilea fișier conține 5 rânduri. Linia 1 este suplimentară.





Apoi, încercăm instrucțiunea „diff” din zona de interogare a terminalului, urmată de numele fișierelor – one.txt și two.txt. Execuția acestei instrucțiuni arată „0a1” ca ieșire împreună cu linia 1 din al doilea fișier care este o linie suplimentară în al doilea fișier. Valoarea numerică „0” este utilizată pentru linia 0 sau înainte de linia 1 a primului fișier, adică one.txt. Simbolul „a” înseamnă „adăugați”. În cele din urmă, valoarea numerică „1” înseamnă prima linie a celui de-al doilea fișier. Ieșirea de mixare „0d1” înseamnă că linia 1 a celui de-al doilea fișier „two.txt” ar trebui adăugată în partea de sus a primului fișier „one.txt” înainte ca prima linie două să facă ambele fișiere la fel.



Acum, actualizăm ambele fișiere pentru a vedea o altă ilustrație. Primul fișier „one.txt” conține 4 rânduri, iar al doilea fișier „two.txt” conține doar 3 linii. Singura diferență pentru aceste fișiere este utilizarea unei linii suplimentare în primul fișier, adică linia 1 = „luni”, care nu se află în al doilea fișier. După ce am încercat instrucțiunea „diff” pentru fișierele text actualizate, obținem „1d0” ca rezultat. Și se afișează prima linie din primul fișier. În „1d0”, 1 înseamnă că prima linie din fișierul „one.txt” trebuie ștearsă (conform simbolului „d”), iar 0 înseamnă că al doilea fișier nu a primit nicio actualizare. În cele din urmă, linia 1 din primul fișier „one.txt” este afișată pentru diferența clară.

În mod similar, comanda „diff” poate afișa o diferență între liniile a două fișiere. Prin urmare, actualizăm ambele fișiere text încă o dată. De data aceasta, primul fișier conține 5 linii, în timp ce al doilea fișier conține doar 4. Singura diferență este utilizarea unei linii suplimentare în one.txt care este linia 3. Comanda diff folosită pentru ambele fișiere din terminal afișează un scoateți „3d2” împreună cu linia 3 din primul fișier „one.txt”. Această ieșire arată că linia 3 din primul fișier „one.txt” ar trebui ștearsă, astfel încât să putem sincroniza ambele fișiere la linia 2 a celui de-al doilea fișier. Linia diferită „3” este afișată astfel încât să ne putem face o idee clară despre diferență.

Să aruncăm o privire clară și mai profundă asupra rezultatului. Ieșirea 1,5c1,2 din imaginea următoare arată că liniile de la 1 la 5 ale unui prim fișier (one.txt) ar trebui schimbate cu liniile 1 la 2 ale unui al doilea fișier (two.txt). Înseamnă că primele 5 rânduri (1 la 5) ale fișierului one.txt ar trebui schimbate și înlocuite cu primele două rânduri (1, 2) ale celui de-al doilea fișier „two.txt” pentru a fi la fel. În final, sunt afișate toate cele 5 linii din primul fișier care ar trebui înlocuite cu cele 2 rânduri afișate ale celui de-al doilea fișier. Acesta este modul în care simbolul „c” indică diferența între două fișiere – nicio linie nu este aceeași în ambele fișiere.

Comanda „diff” vă permite să obțineți rezultatul într-o formă de context. Imaginați-vă că aveți aceleași două fișiere cu următoarele date în aceste fișiere. Contextul din jurul rezultatului ar fi afișarea diferenței principale dintre fișierele simple totale care sunt afișate în imaginea următoare. Acum, avem 5 linii în primul fișier „one.txt” și 4 linii în al doilea fișier „two.txt”.

Pentru a obține rezultatul bazat pe context a instrucțiunii „diff”, trebuie să folosim opțiunea „-c” din comanda „diff”. Folosind fișierele actualizate anterior în această comandă „diff”, obținem următoarea ieșire – dată, zi, împreună cu informații suplimentare privind crearea textului în fișiere. Sunt afișate cele 5 rânduri din fișierele one.txt. În special, a treia linie este evidențiată folosind caracterul „-“ pentru a o adăuga doar la alt fișier.

Concluzie

Am încercat să explicăm pe scurt totul despre instrucțiunea „dif”. Pentru aceasta, ne-am actualizat fișierele text de fiecare dată și am primit o ieșire actualizată pentru adăugarea, eliminarea și modificarea datelor dintr-un fișier. Introducerea a explicat scopul utilizării comenzii „diff” în Linux și cum să o utilizați pentru Linux.