Sztuka porównywania

Jak w systemach Windows porównywać zawartość określonych plików przy pomocy odpowiednich poleceń trybu tekstowego?

Graficzny interfejs systemu Windows nie zapewnia narzędzia do porównywania zawartości plików. Operację tę można wykonać jedynie z poziomu trybu tekstowego. Program FC.EXE pozwala ustalać różnice między dwoma podobnymi do siebie plikami i wyświetlać wyniki na różne sposoby. Narzędzie Fc nadaje się doskonale do wykrywania rozbieżności między dużymi, mało przejrzystymi plikami tekstowymi. Jeśli pracujemy na przykład z kolegą nad dłuższym tekstem lub kodem źródłowym skryptu, możemy przekazać mu bieżącą wersję. Aby ustalić, w których miejscach dokonał zmian, wystarczy porównać otrzymany plik z wysłanym oryginałem.

Kolejny obszar zastosowania programu Fc to porównywanie plików w trybie binarnym. Gdy zechcemy np. sprawdzić, w którym miejscu pliku ukrył się wirus, skonfrontujmy zarażony plik z jego niezainfekowaną wersją przechowywaną w kopii zapasowej. W podobny sposób uda się nam ustalić, gdzie dokumenty tekstowe DOC przechowują imię i nazwisko autora, a tabele XLS makra.

Zobacz również:

  • Nearby Sharing od Google - wygodny sposób na przesyłanie plików

Aby porównać na przykład dwa podobne pliki tekstowe (TEKST1.TXT i TEKST2.TXT) i zapisać wyniki w oddzielnym pliku WYNIK.TXT, użyjmy polecenia fc zgodnie z następującym wzorcem:

fc tekst1.txt tekst2.txt > wynik.txt

W pliku wynikowym znajdziemy poszczególne różnice wiersz po wierszu. Gdy zastosujemy program FC.EXE do dwóch plików różnego rozmiaru, wykaże się odrobiną inteligencji. Jeśli różnią się niewieloma dodanymi wierszami, wykryje wstawkę.

Jeżeli pozostała część dokumentu jest taka sama w obu plikach, wznawia porównywanie. Synchronizację przejmuje wewnętrzny algorytm narzędzia FC.EXE.

Jeśli nie mamy do czynienia z plikami tekstowymi TXT, lecz z binarnymi zbiorami COM, EXE czy np. DOC, korzystajmy z porównywania w trybie binarnym. Uaktywnimy je za pomocą przełącznika /b, który wprowadzimy po przywołaniu fc i spacji. W tym przypadku dane wynikowe są wyświetlane w inny sposób. FC.EXE poda w postaci szesnastkowej dokładny adres każdego różniącego się bajta.

Ponadto można porównywać całe katalogi zawierające pliki o takich samych nazwach. Użyjmy w tym celu polecenia:

fc <katalog1>\*.* <katalog2>\*.* > wynik.txt

FC.EXE będzie automatycznie pobierać i badać pary plików o takiej samej nazwie.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200