Przykłady polecenia diff w Linux

Przykłady polecenia diff w Linux
Polecenie diff to analiza lub polecenie pouczające, które drukuje różnice między plikami, analizując je wiersz według linii lub rekurencyjnie, jednocześnie informując użytkownika, jakie zmiany są niezbędne do uczynienia plików, ten punkt jest ważny, aby zrozumieć wyniki różnorodne. Ten samouczek koncentruje się na poleceniu diff.

Przed rozpoczęciem utwórz dwa pliki za pomocą dowolnego edytora tekstu (nano jest używane w tym samouczku) z tą samą treścią:

# Nano diffsample1

Wewnątrz pasty:

 Linuxhint publikuje dla Ciebie najlepszą treść 

Naciskać KLAWISZ KONTROLNY+X i y, aby zapisać i wyjść.

Utwórz drugi plik o nazwie diffSample2 z tą samą treścią:

# nano diffSample2

Notatka: Zwróć uwagę na przestrzenie i zakładki, pliki muszą być w 100% równe.

Naciskać KLAWISZ KONTROLNY+X i y, aby zapisać i wyjść.

# Diff DiffSample1 diffsample2

Jak widać, nie ma wyjścia, nie trzeba robić czegoś, aby pliki są równe, ponieważ są już równe.

Teraz edytujmy plik diffSample2, aby dokonać pewnej zmiany:

# nano diffSample2

Następnie zastąpmy słowo „treść” dla „wskazówek”:

Naciskać KLAWISZ KONTROLNY+X I Y Aby zapisać i wyjść.

Teraz biegnij:

# Diff DiffSample1 diffsample2

Zobaczmy wyjście:

Powyższe wyjście „3C3” oznacza „wiersz 3 pierwszego pliku należy wymienić dla linii 3 drugiego pliku”. Przyjazna część wyjścia jest to, że pokazuje nam, jaki tekst należy zmienić (”treść dla Ciebie" Do "Wskazówki dla Ciebie”)

To pokazuje nam odniesienie do difen polecenia nie jest pierwszym plikiem, ale drugi, dlatego pierwszy plik trzeci wiersz (pierwszy 3) musi zostać zmieniony (c) jako trzeci wiersz drugiego pliku (drugi 3).

Dywizja polecenia może pokazać 3 znaki:

C: Ta postać instruuje Zmiana musi być zrobione.
A: Ta postać instruuje coś musi być Dodany.
D: Ta postać instruuje coś musi być Usunięte.

Pierwsze liczby przed znakami należą do pierwszego pliku, podczas gdy liczby po znakach należą do drugiego pliku.

Symbol do drugiego pliku, który jest używany jako odniesienie.

Wróćmy zamówienie plików zamiast uruchomić

# Diff DiffSample1 diffsample2

uruchomić:

# Diff DiffSample2 Diffsample1

Możesz zobaczyć, w jaki sposób zamówienie było odwrócone, a teraz plik DiffSample1 jest używany jako odniesienie, i instruuje nas, abyśmy zmienili „wskazówki dla Ciebie” dla „Treść dla Ciebie”, to było poprzednie wyjście:

Teraz edytujmy plik diffSample1 w ten sposób:

Usuń wszystkie linie, z wyjątkiem pierwszego wiersza w pliku diffSample1. Następnie uruchomić:

# Diff DiffSample2 Diffsample1

Jak widać, ponieważ użyliśmy pliku diffSample1 jako odniesienie, aby plik diffSample2 jest dokładnie równyD) Linie dwa i trzy (2,3) jak w pierwszym pliku i pierwszych wierszach (1) będzie równe.

Teraz pozwala odwrócić zamówienie i zamiast biegać ”# Diff DiffSample2 diffSample1 ” uruchomić:

# Diff DiffSample1 diffsample2

Jak widać, podczas gdy poprzedni przykład poinstruował nas, abyśmy usunęli, ten instruuje nas do dodania (A) Linie 2 i 3 po pierwszym pliku pierwszym wierszu (1).

Teraz popracujmy nad wrażliwą własnością tego programu.

Edytuj plik diffSample2

I edytuj plik diffSample1 jako:

Jedyną różnicą są litery kapitałowe w pliku diffsample2. Teraz porównajmy go ponownie za pomocą diff:

# Diff DiffSample1 diffsample2

Jak widać różnice różnice, litery kapitałowe, unikamy wykrywania liter wykrywający -I opcja:

# diff -i diffSample1 diffsample2

Nie stwierdzono różnic, wykrywanie przypadku zostało wyłączone.

Teraz zmieńmy format wyjściowy, dodając opcję -u Służy do drukowania zunifikowanych wyjść:

Dodatkowo, do tej pory i godziny, wyjście pokazuje z - I + symbol, co należy usunąć i co należy dodać, aby uczynić pliki równe.

Na początku tego artykułu powiedziałem, że przestrzenie i karty muszą być równe w obu plikach, ponieważ są również wykrywane przez polecenie, jeśli chcemy, aby polecenie zignorowało przestrzenie i karty, musimy zastosować zastosowanie -w opcja.

Otwórz plik diffSample2 i dodaj przestrzenie i zakładki:

Jak widzisz, dodałem kilka kart po „najlepszych” w drugiej linii, a także przestrzeni we wszystkich liniach, zamknij, zapisz plik i uruchom:

# Diff DiffSample1 diffsample2

Jak widać, znaleziono różnice, dodatkowo do liter kapitałowych. Teraz zastosujmy opcję -w Aby poinstruować diff, aby zignorować puste przestrzenie:

Jak widać pomimo różnicy tabeli tylko jako różnica, litery kapitałowe.
Teraz dodajmy opcję -i ponownie:

#diff -wi diffsample2 diffsample1

Różnica poleceń ma dziesiątki dostępnych opcji, które należy zastosować, aby ignorować, zmienić wyjście, rozróżnić kolumny, gdy jest obecny itp. Możesz uzyskać dodatkowe informacje na temat tych opcji za pomocą polecenia MAN lub na stronie http: // man7.Org/Linux/Man-Pages/Man1/Diff.1.html. Mam nadzieję, że ten artykuł znalazłeś z przydatnymi przykładami poleceń diff w Linux. Śledź śledź Linuxhint, aby uzyskać więcej wskazówek i aktualizacji na temat Linux i sieci.