Skip to main content

Jak porównać dwa pliki tekstowe przy użyciu systemu Linux

The Jak Trilogy Analysis | Naughty Dog's Renegade Platformer (Kwiecień 2025)

The Jak Trilogy Analysis | Naughty Dog's Renegade Platformer (Kwiecień 2025)
Anonim

Ten przewodnik pokaże Ci, jak używać Linuksa do porównywania dwóch plików i wyświetlać ich różnicę na ekranie lub w pliku.

Nie musisz instalować żadnego specjalnego oprogramowania, aby porównywać pliki za pomocą Linuksa, ale musisz wiedzieć, jak otworzyć okno terminala.

Jak wynika z dołączonego przewodnika, istnieje wiele sposobów na otwarcie okna terminalu za pomocą systemu Linux. Najprostsze jest jednoczesne naciśnięcie klawiszy CTRL, ALT i T.

Tworzenie plików do porównania

Aby śledzić ten przewodnik, utwórz plik o nazwie "plik1" i wprowadź następujący tekst:

10 zielonych butelek stojących na ścianie

10 zielonych butelek stojących na ścianie

Jeśli jedna zielona butelka przypadkowo upadnie

Na ścianie stoi 9 zielonych butelek

Możesz utworzyć plik, wykonując następujące instrukcje:

  1. Otwórz plik, wpisując następujące polecenie: nano file1

  2. Wpisz tekst w edytorze nano

  3. Naciśnij CTRL i O, aby zapisać plik

  4. Naciśnij CTRL i X, aby opuścić plik

Teraz utwórz kolejny plik o nazwie "plik2" i wprowadź następujący tekst:

10 zielonych butelek stojących na ścianie

Jeśli jedna zielona butelka przypadkowo upadnie

Na ścianie stoi 9 zielonych butelek

Możesz utworzyć plik, wykonując następujące instrukcje:

  1. Otwórz plik, wpisując następujące polecenie: nano file2

  2. Wpisz tekst w edytorze nano

  3. Naciśnij CTRL i O, aby zapisać plik

  4. Naciśnij CTRL i X, aby opuścić plik

Jak porównać dwa pliki za pomocą systemu Linux

Polecenie używane w systemie Linux do pokazywania różnic między 2 plikami nazywa się poleceniem diff.

Najprostsza forma polecenia diff jest następująca:

diff plik1 plik2

Jeśli pliki są takie same, nie będzie żadnego wyjścia przy użyciu tego polecenia, jednak, ponieważ istnieją różnice, zobaczysz dane wyjściowe podobne do następujących:

2,4c2,3

<10 zielonych butelek stojących na ścianie

<Jeśli jedna zielona butelka powinna przypadkowo spaść

<Na ścianie stoi 9 zielonych butelek

> Jeśli jedna zielona butelka przypadkowo upadnie

> Na ścianie stoi 9 zielonych butelek

Początkowo wyniki mogą wydawać się mylące, ale gdy zrozumiesz terminologię, jest to dość logiczne.

Na własne oczy widać, że różnice między 2 plikami są następujące:

  • Drugi plik ma tylko trzy linie, podczas gdy pierwszy plik ma 4.
  • Drugi plik mówi "1 zielona butelka" na trzeciej linii, podczas gdy pierwszy plik mówi "jedna zielona butelka"
  • Drugi plik mówi "tam" zamiast "tam" w ostatniej linii

Wynik polecenia diff pokazuje, że między wierszami 2 i 4 pierwszego pliku oraz wierszami 2 i 3 drugiego pliku występują różnice.

Następnie lista linii od 2 do 4 z pierwszego pliku, a następnie 2 różne linie w drugim pliku.

Jak pokazać, jeśli pliki są różne

Jeśli chcesz tylko wiedzieć, czy pliki są różne i nie interesuje Cię, które linie są różne, możesz uruchomić następujące polecenie:

diff -q plik1 plik2

Jeśli pliki są różne, wyświetlone zostaną:

Pliki file1 i file2 różnią się

Jeśli pliki są takie same, nic nie jest wyświetlane.

Jak wyświetlić wiadomość, jeśli pliki są takie same

Kiedy uruchamiasz polecenie, chcesz wiedzieć, że działa ono poprawnie, więc chcesz, aby komunikat był wyświetlany po uruchomieniu komendy diff, niezależnie od tego, czy pliki są takie same czy różne

Aby osiągnąć ten wymóg za pomocą polecenia diff, możesz użyć następującego polecenia :.

diff -s plik1 plik2

Teraz, jeśli pliki są takie same, otrzymasz następujący komunikat:

Pliki file1 i file2 są identyczne

Jak tworzyć różnice obok siebie

Jeśli istnieje wiele różnic, to bardzo szybko może być mylące, co do różnic między tymi dwoma plikami.

Możesz zmienić wyjście komendy diff, aby wyniki były wyświetlane obok siebie. W tym celu uruchom następujące polecenie:

diff -y plik1 plik2

Dane wyjściowe pliku używają | symbol, aby pokazać różnicę między dwiema liniami, a <, aby wyświetlić linię, która została usunięta, a a>, aby wyświetlić linię, która została dołączona.

Co ciekawe, jeśli uruchomisz polecenie za pomocą naszych plików demonstracyjnych, wszystkie wiersze będą wyświetlane jako różne, z wyjątkiem ostatniej linii pliku 2, która zostanie pokazana jako usunięta.

Ograniczanie szerokości kolumn

Porównywanie dwóch plików obok siebie może być trudne do odczytania, jeśli pliki mają dużo kolumn tekstu.

Aby ograniczyć liczbę kolumn, użyj następującego polecenia:

diff --width = 5 plik file2

Jak ignorować różnice w wielkościach podczas porównywania plików

Jeśli chcesz porównać dwa pliki, ale nie obchodzi cię, czy wielkość liter jest taka sama pomiędzy tymi dwoma plikami, możesz użyć następującego polecenia:

diff -i plik1 plik2

Jak zignorować Trasę Białej Przestrzeni na końcu linii

Jeśli przy porównywaniu plików zauważysz, że wiele różnic i różnic są spowodowane przez białe spacje na końcu linii, możesz je pominąć jako wyświetlanie jako zmiany, uruchamiając następujące polecenie:

diff -Z plik1 plik2

Jak zignorować wszystkie białe różnice między dwoma plikami

Jeśli interesuje Cię tylko tekst w pliku i nie obchodzi cię, czy w jednym jest więcej spacji niż w drugim, możesz użyć następującego polecenia:

diff -w plik1 plik2

Jak ignorować puste linie podczas porównywania dwóch plików

Jeśli nie przejmujesz się tym, że jeden plik może zawierać dodatkowe puste linie, możesz porównać pliki za pomocą następującego polecenia:

diff -B plik1 plik2

streszczenie

Możesz znaleźć więcej informacji, czytając instrukcję dla polecenia diff.

man diff

Polecenie diff może być użyte w najprostszej formie, aby pokazać różnice między dwoma plikami, ale możesz także użyć go do utworzenia pliku diff jako części strategii łatania, jak pokazano w tym przewodniku do polecenia łaty Linuksa.

Kolejną komendą, której możesz użyć do porównania plików, jest polecenie cmp przedstawione w tym przewodniku. To porównuje pliki bajt po bajcie.