Jak porównać dwa pliki w Linux

Jak porównać dwa pliki w Linux
Jeśli chcesz porównać dwa pliki i rozszyfrować różnicę, polecenie nazywane „różnica" Jest używane. Ten przewodnik koncentruje się na zapewnieniu wykorzystania „różnica”Polecenie z różnymi opcjami, aby uzyskać różnicę między dwoma plikami.

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:

  • A - Dodaj: Dodaj zawartość w pierwszym pliku, aby zsynchronizować z drugim plikiem.
  • C - Zmiana: wskazuje, że modyfikacja potrzebna w treści pierwszego pliku w celu dopasowania drugiego pliku.
  • D - Usuń: usuń zawartość z pierwszego pliku, aby pasować do drugiego.

„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:

  • |. - Linia jest inna w drugim pliku
  • > - linia jest dodatkowa w drugim pliku
  • < - Line has been deleted from the second file

„-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:

  • + : Linia nie jest obecna w pierwszym pliku. Włóż go do pierwszego pliku lub usuń z drugiego pliku, aby dopasować ją do obu plików.
  • - : Linia istnieje w pierwszym pliku, ale nie w drugim pliku. Spróbuj wstawić go do drugiego pliku lub usuń z pierwszego, aby dopasować ją do obu plików.
  • ! : Linia wymaga modyfikacji w celu dopasowania.

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.