Jak więc „różnica„Polecenie faktycznie funkcjonuje? „„różnica”Polecenie porównuje dwa pliki i przedstawia listę różnic między obiema plikami. Mówiąc dokładniej, daje listę modyfikacji, które należy dokonać w pierwszym pliku, aby pasować do drugiego pliku. „„różnica”Polecenie jest również używane przez programistów, aby uzyskać różnicę między dwoma plikami kodu źródłowego w celu opracowania łatek.
Przed zanurzeniem się w przykładach zauważ, że kolejność plików jest bardzo ważna. Ponieważ "różnica”Polecenie daje wyjście na podstawie kolejności plików.
Jak używać polecenia „diff” w Linux do porównania plików:
Składnia „różnica„Polecenie jest wspomniane poniżej:
$ diff [opcje] [File1] [File2]
Najpierw utwórz dwa pliki. Tworzę pliki tekstowe o nazwie „TEST_FILE_1.tekst" I „TEST_FILE_2.tekst". Te pliki zawierają zawartość z niewielką różnicą:
Teraz użyj następującego polecenia, aby uzyskać różnicę:
$ diff Test_file_1.TXT TEST_FILE_2.tekst
Standardowe wyjście wyświetlało linie, które pasują do kolejności plików wymienionych w poleceniu. Więc zdekodujmy wyjście:
Porównanie plików jest oznaczone, a każda etykieta ma liczbę po obu stronach. Format jest następujący:
[Numer linii pliku 1] [etykieta (a, c, d)] [numer wiersza pliku 2]
Istnieją trzy etykiety:
„2d1” Wskazuje, aby usunąć numer 2 pierwszego pliku, który pasuje do drugiego pliku z linii 1.
podobnie, „4c3” oznacza wprowadzenie zmiany w czwartym wierszu pierwszego pliku, który dopasuje wiersz numer 3 drugiego pliku, ponieważ oba linie są nieco inne.
Istnieje inna metoda wyświetlania różnicy, użyj „Zróżnicowanie” polecenie z „-Y” opcja:
$ diff -y -w 60 test_file_1.TXT TEST_FILE_2.tekst
W powyższym wyjściu zawartość „TEST_FILE_1.tekst" jest wyświetlany po lewej stronie, podczas gdy zawartość „Text_file_2.tekst" jest wyświetlany po prawej stronie. Różnica jest wskazywana przez symbole:
„-W” wskazuje szerokość między zawartością dwóch plików. Aby uzyskać osobno i wyświetlić różnicę, użyj następujących czynności:
$ diff -y -w 60 -suppress -common -lines test_file_1.TXT TEST_FILE_2.tekst
Jak uzyskać wyjście w jednym wierszu za pomocą polecenia „diff”:
Jeśli oznaczona metoda jest trudna do dekodowania, istnieje prostsze podejście. Używając "-Q" opcja z „Zróżnicowanie” Polecenie daje wyjście w jednym wierszu. Cóż, bez żadnych dodatkowych informacji:
$ diff -q test_file_1.TXT TEST_FILE_2.tekst
Jeśli pliki się różnią, powyższe polecenie poda wyjście. Jeśli pliki są identyczne, nie będzie wyjścia. Aby to zademonstrować, tworzę kopię „TEST_FILE_1.tekst" za pomocą:
$ CP TEST_FILE_1.TXT TEST_FILE_3.tekst
Nowy plik zostanie utworzony pod nazwą „TEST_FILE_3.tekst" zawierający tę samą treść, którą „TEST_FILE_1.tekst" ma. Teraz użyj:
$ diff -q test_file_1.TXT TEST_FILE_2.tekst
Ponieważ oba pliki mają podobną zawartość, dlatego nie byłoby wyjścia.
Jak sprawdzić różnicę plików w trybie kontekstowym za pomocą polecenia „diff”:
Aby uzyskać porównanie w trybie kontekstowym, "-C" Opcja będzie używana z „Zróżnicowanie” Komenda:
$ diff -c test_file_1.TXT TEST_FILE_2.tekst
Przejrzyjmy wyjście.
Aby zachować różnicę, pierwszy plik jest wskazany przez „***” wraz z datą i godziną tworzenia, podczas gdy drugi plik jest oznaczony przez „-”.
Następna linia oznacza zakres linii rozważanych podczas porównywania. W przypadku pierwszego pliku jest tak „*** 1,6 ****” A dla drugiego pliku jest tak „-1,5--”:
Różnica jest wskazywana przez symbole:
Jak sprawdzić różnicę plików w trybie Unified za pomocą polecenia „Diff”:
Tryb ujednolicony jest dość podobny do trybu kontekstu, ale bez zbędnych informacji. Flaga, której używamy „-U”:
$ diff -u test_file_1.TXT TEST_FILE_2.tekst
W wyjściu pierwszy plik jest oznaczony „-”, a drugi przez „+++”. Drugi wiersz pokazuje liczbę linii rozważanych do porównania w obu plikach, a następnie treść do usunięcia, dodania lub modyfikowania z symbolami z nimi. W obu plikach nie będzie symbolu z podobnymi wierszami.
Jak zignorować wrażliwość na przypadki podczas używania polecenia „diff”:
Jeśli chcesz porównać pliki podczas ignorowania czułości obudowy, użyj "-I" flaga:
$ diff -i test_file_1.TXT TEST_FILE_2.tekst
Do demonstracji zrobiłem "D" z "Głęboko w" W pierwszym pliku małym:
Jak widać w pierwszym poleceniu, różnica jest wskazana; podczas używania "-I" Ta różnica została usunięta.
Kilka innych przydatnych opcji „Zróżnicowanie” Polecenie są wymienione poniżej:
Opcja | Opis |
---|---|
-A | Ta opcja traktuje wszystkie pliki jako pliki tekstowe |
-B | Ignoruje modyfikację, w której wszystkie linie są puste |
-mi | Ta opcja ignoruje rozszerzenie zakładki |
-I | Ignoruje zmiany, w których pasują wszystkie linie |
-S | Daje wyjście, gdy dwa pliki są identyczne |
-w | Ignoruje całą białą przestrzeń |
-Z | Ignoruje białą przestrzeń na końcu linii |
Jak używać edytora VIM do porównania dwóch plików:
Inną metodą porównywania dwóch plików jest użycie „Vimdiff” Komenda. W tym celu musisz zainstalować VIM:
$ sudo apt instal vim
Teraz, aby porównać dwa pliki, użyj:
$ vimdiff test_file_1.TXT TEST_FILE_2.tekst
Oba pliki zostaną otwarte obok siebie. Część, która się nie pasuje, zostanie wyróżniona:
Jak porównać dwa pliki za pomocą „Colordiff”:
Innym podejściem jest rodzaj rozszerzenia „Zróżnicowanie” Komenda. Możesz uczynić porównanie bardziej identyfikowalnym, dodając do niego kolory. Aby zainstalować użycie:
$ sudo apt instal colordiff
Aby porównać pliki, użyj:
$ colordiff test_file_1.TXT TEST_FILE_2.tekst
Możesz wymienić „Zróżnicowanie” z „Colordiff” Aby uzyskać standardowe wyjście „Zróżnicowanie” polecenie w kolorowym formacie.
Wniosek:
Aby porównać pliki w systemie Linux, a nawet w macOS, użyte narzędzie nazywa się „diff”. Narzędzie „różnorodne” porównuje dwa pliki i podaje informacje o różnicach między dwoma plikami. Deweloperzy używają przede wszystkim polecenia „diff” do tworzenia plików łatek.
W tym przewodniku dokładnie omówiliśmy „Zróżnicowanie” polecenie i jak go używać do porównania dwóch plików z różnymi opcjami. Nauczyliśmy się również, jak używać „Colordiff” Aby różnice w pliku były bardziej rozpoznawalne. Ale jeśli uważasz, że narzędzie oparte na terminalu trudne do użycia, istnieją również narzędzia oparte na GUI, takie jak Kompare, Diffmerge, Meld - Diff Tool i Dowfuse - GUI GIFF Tool.