Polecenie różnic w Linuksie

Polecenie Roznic W Linuksie



Różnica najprawdopodobniej dotyczy koncepcji lub uczucia, które może odróżnić jedną rzecz od drugiej. Polecenie „różnic” odnosi się do zmienności. Analizując dokumenty linia po linii, narzędzie to pokazuje różnice między plikami. Informuje nas, które sekcje w jednym dokumencie należy zmienić, aby utworzyć dokumenty podobne, w przeciwieństwie do elementów towarzyszących cmp i comm. Kluczowym aspektem, o którym należy pamiętać, jest to, że aby dokumenty były podobne, diff używa specjalnych symboli i poleceń. Otrzymasz wskazówki, jak zmodyfikować pierwszy dokument, aby był spójny z drugim dokumentem. W tym przewodniku omówimy użycie polecenia „diff” w Ubuntu 20.04 za pomocą terminala Linux.

Tworzymy dwa pliki tekstowe w folderze roboczym naszego systemu.









Czas użyć instrukcji „diff” w obszarze zapytania, aby wyświetlić różnicę między zawartością obu plików. Próbujemy tej instrukcji „diff” z obydwoma nazwami plików w sekwencji, tj. najpierw jeden.txt, a potem dwa.txt. Wykonanie polecenia „diff” pokazuje nam różnicę między obydwoma plikami jako:



  • Numery wierszy według pierwszego pliku tekstowego.
  • Znaki/symbole specjalne informujące nas o różnicy, takie jak zmiana, dodanie, usunięcie.
  • Numery wierszy według drugiego pliku tekstowego.

Na naszej pierwszej ilustracji omówimy symbol „a” wśród numerów linii wyniku polecenia „diff”; „a” jest skrótem od „Dodaj”. Użycie instrukcji „cat” z obiema nazwami plików w obszarze zapytania oddzielnie wyświetla zawartość każdego pliku tekstowego, tj. jeden.txt i dwa.txt. W pierwszym pliku mamy łącznie 4 wiersze, podczas gdy drugi plik zawiera 5 wierszy. Linia 1 jest dodatkowa.





Następnie wypróbujemy instrukcję „diff” w obszarze zapytania terminala, a następnie nazwy plików – jeden.txt i dwa.txt. Wykonanie tej instrukcji pokazuje „0a1” jako wyjście wraz z wierszem 1 z drugiego pliku, który jest dodatkowym wierszem w drugim pliku. Wartość liczbowa „0” jest używana dla linii 0 lub przed linią 1 pierwszego pliku, czyli jeden.txt. Symbol „a” oznacza „dodaj”. Wreszcie wartość liczbowa „1” oznacza pierwszy wiersz drugiego pliku. Wyjście miksera „0d1” oznacza, że ​​wiersz 1 drugiego pliku „two.txt” powinien zostać dodany na początku pierwszego pliku „one.txt” przed pierwszym wierszem drugim, który spowoduje, że oba pliki będą takie same.



Teraz aktualizujemy oba pliki, aby zobaczyć kolejną ilustrację. Pierwszy plik „one.txt” zawiera 4 wiersze, a drugi plik „two.txt” zawiera tylko 3 wiersze. Jedyną różnicą w przypadku tych plików jest użycie dodatkowej linii w pierwszym pliku, tj. linia 1 = „Poniedziałek”, której nie ma w drugim pliku. Po wypróbowaniu instrukcji „diff” dla zaktualizowanych plików tekstowych otrzymujemy „1d0” jako wynik. Wyświetlany jest pierwszy wiersz z pierwszego pliku. W „1d0” 1 oznacza, że ​​należy usunąć pierwszy wiersz z pliku „one.txt” (zgodnie z symbolem „d”), a 0 oznacza, że ​​drugi plik nie został zaktualizowany. Na koniec linia 1 z pierwszego pliku „jeden.txt” jest wyświetlana dla wyraźnej różnicy.

Podobnie polecenie „diff” może wyświetlać różnicę między wierszami dwóch plików. Dlatego ponownie aktualizujemy oba pliki tekstowe. Tym razem pierwszy plik zawiera 5 linii, a drugi tylko 4. Jedyną różnicą jest użycie dodatkowej linii w one.txt, która jest linią 3. Polecenie diff użyte na obu plikach w terminalu wyświetla wypisz „3d2” wraz z wierszem 3 z pierwszego pliku „one.txt”. Te dane wyjściowe pokazują, że wiersz 3 z pierwszego pliku „one.txt” powinien zostać usunięty, abyśmy mogli zsynchronizować oba pliki w wierszu 2 drugiego pliku. Wyświetlana jest inna linia „3”, abyśmy mogli uzyskać jasny obraz różnicy.

Przyjrzyjmy się jasno i głębiej wynikowi. Dane wyjściowe 1,5c1,2 z poniższego obrazu pokazują, że wiersze od 1 do 5 pierwszego pliku (jeden.txt) powinny zostać zamienione wierszami od 1 do 2 drugiego pliku (dwa.txt). Oznacza to, że pierwsze 5 wierszy (1 do 5) pliku one.txt należy zmienić i zastąpić pierwszymi dwoma wierszami (1, 2) drugiego pliku „two.txt”, aby był taki sam. Na koniec wyświetlane są wszystkie 5 wierszy z pierwszego pliku, które należy zastąpić wyświetlonymi 2 wierszami drugiego pliku. W ten sposób symbol „c” oznacza różnicę między dwoma plikami – żadna linia nie jest taka sama w obu plikach.

Polecenie „diff” pozwala uzyskać dane wyjściowe w formie kontekstowej. Wyobraź sobie, że masz te same dwa pliki z następującymi danymi w tych plikach. Kontekstem danych wyjściowych będzie wyświetlenie głównej różnicy między wszystkimi prostymi plikami pokazanymi na poniższej ilustracji. Teraz mamy 5 wierszy w pierwszym pliku „jeden.txt” i 4 wiersze w drugim pliku „dwa.txt”.

Aby uzyskać kontekstowe wyjście instrukcji „diff”, musimy użyć opcji „-c” w poleceniu „diff”. Korzystając z wcześniej zaktualizowanych plików w tym poleceniu „różnic”, otrzymujemy następujące dane wyjściowe – datę, dzień wraz z dodatkowymi informacjami dotyczącymi tworzenia tekstu w plikach. Wyświetlanych jest 5 wierszy z plików one.txt. W szczególności jego trzecia linia jest podświetlona za pomocą znaku „-”, aby po prostu dodać go do innego pliku.

Wniosek

Próbowaliśmy krótko wyjaśnić wszystko na temat instrukcji „diff”. W tym celu za każdym razem aktualizowaliśmy nasze pliki tekstowe i otrzymaliśmy zaktualizowane dane wyjściowe do dodawania, usuwania i zmiany danych w pliku. We wstępie wyjaśniono cel używania polecenia „diff” w Linuksie i jak go używać w Linuksie.