2010-01-18 13 views
5

Mam dwie kopie kodu źródłowego aplikacji. Jedna kopia jest kodowana, a druga nie. Istnieją pliki konfiguracyjne rozproszone w całej strukturze katalogów aplikacji i to jest to, co chciałbym porównać.Używanie różnic i tłumienie całkowicie różnych plików

Czy istnieje sposób użycia diff, gdzie mogę ignorować różne pliki (np. Zaszyfrowany plik i plik niezaszyfrowany) i tylko informować o różnicy na podobnych, ale różnych plikach (Konfig.) .

Odpowiedz

1

Można napisać skrypt, który wykorzystuje find znaleźć pliki na podstawie nazwy lub innych kryteriów i file celu ustalenia, czy mają ten sam typ zawartości (czyli jeden skompresowany, nie).

Aby być bardziej szczegółowym, potrzebowałbym więcej informacji o tym, czy są to równoległe struktury katalogów (pliki i katalogi pojawiają się w tych samych miejscach w dwóch drzewach) i czy pliki, których szukasz, mają nazwy, które odróżnić je od plików, które chcesz zignorować. Wszelkie dodatkowe informacje, które możesz podać, mogą pomóc jeszcze bardziej.

+0

Dzięki za pomoc Dennis. Nazwy plików są identyczne. Istnieje szansa na brak niektórych plików lub katalogów w obu kopiach. Aplikacja napisana jest w języku PHP, a zakodowana kopia została zakodowana przy pomocy kodera ionCube PHP. Tak więc nazwy plików są zgodne. Mam nadzieję że to pomogło. –

+0

Jak nazywa się pliki konfiguracyjne? Czy ich nazwy różnią się od innych nazw plików w drzewach? Czy istnieją pliki inne niż te, które chcesz porównać? Im bardziej konkretny otrzymasz, tym prostszy byłby skrypt. Jeśli chcesz porównać wszystkie odpowiadające pliki '* .conf', ale nie ma plików' * .php' i plików bez kropki, na przykład. –

+0

Pliki konfiguracyjne nie mają wspólnej nazwy, takiej jak * .conf, * .cfg, conn_ * lub coś podobnego. Niektóre są .conf, większość to .php. Mają różne nazwy plików i są rozproszone w całej strukturze katalogów. Szkoda, że ​​nie mają wspólnej nazwy pliku! –

Powiązane problemy