Warto wiedzieć w jaki sposób porównać dwa pliki na okoliczność gdyby jakiś „dobry” duszek zechciał ważne dla nas dane zmienić.
Porównywanie zawartości plików GNU/Linux Nieco teorii…
Wartym poznania poleceniem jest diff, dzięki któremu możliwe będzie porównanie zmian w plikach. Chciałbym przedstawić w tym wpisie kilka możliwych opcji użycia tego polecenia.
Przykłady, przykłady…
W celu przetestowania polecenia diff należy przygotować dwa pliki .txt, aby przetestować jego działanie.
1 2 3 4 5 |
test1.txt Ala Tola Tomasz Maciej |
1 2 3 4 5 6 |
test2.txt Ala Tola Tomek Milena Grzegorz |
Mając dane testowe możesz teraz przetestować polecenie diff. Na początek najprostsza jego forma, dzięki której zobaczysz różnice w testowanych plikach.
1 |
diff test1 test2 |
Samo polecenie jest proste diff plik1 plik2. W odpowiedzi otrzymasz wiersze (ich ilość zależy od wielkości plików wejściowych):
- 3,4c3,5 – pokazuje numery wierszy, które zostały zmienione (c), dodane (a), usunięte (d),
- Kolejne wiersze do wpisy, których nie ma w drugim pliku a są w pierwszym (<),
- Znaki „—” pokazują oddzielenie pomiędzy plikami,
- Kolejne trzy wiersze to te które są w drugim pliku a nie ma ich w pierwszym (>)
Jednak taki widok jest trochę trudny do czytania. Diff przychodzi z pomocą, polecenie można uruchomić w trybie kontekstowym, dzięki przełącznikowi -c
1 |
diff -c test1 test2 |
W wyniku otrzymasz:
- Dwa pierwsze wiersze, które pokazują oznaczenie plików (***) wejściowego oraz (—-) wyjściowego, a także datę oraz godzinę utworzenie plików,
- Kolejny wiersz z dużą ilością (*) jest tylko separatorem,
- Dalej informacje o pierwszym pliku, z ilością wierszy
- Następnie zawartość drugiego pliku, z ilością wierszy,
- Znak „!” wskazuje różnice w plikach,
- Możliwe inne oznaczenia to „+” oraz „-„, które oznaczają odpowiednio dodanie wiersza do pierwszego pliku oraz usunięcie wiersza z pierwszego pliku
Kolejnym widokiem z którego możesz skorzystać jest widok ujednolicony, który posiada nieco inny widok.
1 |
diff -u test1 test2 |
W odpowiedzi na to polecenie otrzymasz:
- Listę plików wejściowych wraz z oznaczeniem (—), (+++), datę utworzenia plików,
- W kolejnym wierszu informację na temat ilości wierszy w plikach wejściowych,
- Dalej informacja, które wiersze z pliku pierwszego powinny być usunięte(oznaczenie -) oraz te które powinny być dodane do pliku pierwszego (oznaczenie +)
Jeżeli potrzebujesz szybko sprawdzić różnice w plikach możesz użyć tożsamych ze sobą poleceń.
1 |
diff -y test1 test2 |
1 |
diff --side-by-side test1 test2 |
Tutaj bardzo ładnie widzisz gdzie znajdują się różnice w plikach. Pierwszy plik główny znajduje się w lewej stronie, plik do sprawdzenia po prawej.
Jeżeli polecenie diff nie zwróciło żadnego wyniku oznacza to że pliki są identyczne.
To tyle w tym wpisie, zapraszam na kolejny.
Dziękuję Ci, za poświęcony czas na przeczytanie tego artykułu. Jeśli był on dla Ciebie przydatny, to gorąco zachęcam Cię do zapisania się na mój newsletter, jeżeli jeszcze Cię tam nie ma. Proszę Cię także o “polubienie” mojego bloga na Facebooku oraz kanału na YouTube – pomoże mi to dotrzeć do nowych odbiorców. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artykułach / projektach zanim staną się publiczne. Możesz również pozostawić całkowicie anonimowy pomysł na wpis/nagranie.
Link do formularza tutaj: https://beitadmin.pl/pomysly
Pozostaw również komentarz lub napisz do mnie wiadomość odpisuję na każdą, jeżeli Masz jakieś pytania:).