Przejdź do pierwszej, poprzedniej, następnej, ostatniej sekcji, spisu treści.


2. Wywołanie wdiff

Format uruchamiania programu wdiff jest następujący:

wdiff opcja ... stary_plik nowy_plik

wdiff porównuje pliki stary_plik i nowy_plik i tworzy na standardowym wyjściu skomentowaną kopię nowego_pliku. Łańcuch pusty lub łańcuch `-' oznaczają standardowe wejście, ale nie może ono być użyte dwa razy w tym samym wywołaniu. Powinna być podana pełna ścieżka pliku, nazwa katalogu nie jest akceptowana. wdiff kończy pracę z kodem 0 jeśli nie odnaleziono różnic, 1 jeżeli znaleziono różnice, a 2 w przypadku błędu.

W tej dokumentacji, usunięty tekst oznacza tekst w starym_pliku, którego nie ma w nowym_pliku, podczas gdy wstawiony tekst oznacza tekst w nowym_pliku, którego brak w starym_pliku.

wdiff udostępnia następujące opcje wiersza poleceń:

`--help'
`-h'
Wypisuje komunikat pomocy opisujący opcje.
`--version'
`-v'
Wypisuje numer wersji wdiff na standardowym wyjściu diagnostycznym.
`--no-deleted'
`-1'
Zabrania tworzenia w wyjściu usuniętych wyrazów. Jeśli nie wybrano ani opcji `-1' ani `-2', to w niektórych wierszach może zostać przekroczony pierwotny prawy margines.
`--no-inserted'
`-2'
Zabrania tworzenia w wyjściu wstawionych wyrazów. Jeśli podano tę flagę, to biały znak w wyjściu brany jest ze starego_pliku, a nie z nowego_pliku. Jeśli nie wybrano ani opcji `-1' ani `-2', to w niektórych wierszach może zostać przekroczony pierwotny prawy margines.
`--no-common'
`-3'
Zabrania tworzenia w wyjściu wstawionych wyrazów. Zabrania tworzenia w wyjściu wspólnych wyrazów. Jeśli nie użyto tej opcji, wspólne wyrazy i białe znaki są pobierane z nowego_pliku, chyba że podano opcję `-2', wówczas będą brane ze starego_pliku. Gdy jej użyto, to różnice zostaną od siebie oddzielone wierszami kresek. Jednak, jeśli opcji tej użyto równocześnie z `-1' lub `-2', to w utworzonym wyjściu nie będzie wyróżnień, tzn. pogrubień ani podkreśleń. Na koniec, jeśli nie użyto tej opcji, ale użyto obu opcji `-1' i `-2', to sekcje wspólnych wyrazów pomiędzy różnicami będą oddzielane wierszami kresek.
`--ignore-case'
`-c'
Nie rozróżnia wielkości liter przy porównywaniu wyrazów. Na użytek decyzji czy dwa wyrazy są takie same każda mała litera jest postrzegana jako identyczna z odpowiadającą jej wielką literą.
`--statistics'
`-s'
Na zakończenie wypisywana jest, dla każdego pliku, całkowita liczba wyrazów, wyrazów wspólnych dla obu plików, usuniętych bądź wstawionych i liczba zmienionych. (Wyraz zmieniony to taki, który został zastąpiony lub jest częścią zastąpienia.) Z wyjątkiem całkowitej liczby wyrazów, po wszystkich pozostałych liczbach występuje procent względem całkowitej liczby wyrazów w pliku.
`--auto-pager'
`-a'
Niektóre z czynności, które uprzednio były wykonywane automatycznie w poprzednich wersjach wdiff zostały obecnie oddane pod kontrolę tej opcji. Przy jej użyciu, jeśli wyjście wdiff jest kierowane na terminal, to pomiędzy nie wstawiany jest program stronicowania (pager). Bez tej opcji nie będzie wywoływany żaden program stronicujący. Wówczas, jeśli to potrzebne, użytkownik sam odpowiada za jawne skierowanie potokiem wyjścia z wdiff to pagera. Program stronicujący określa się wartością zmiennej środowiskowej `PAGER'. Jeśli podczas wykonywania wdiff zmienna `PAGER' nie jest zdefiniowana, to zostanie użyty domyślny program stronicujący, wybrany podczas instalacji. Zdefiniowana, lecz pusta wartość `PAGER' oznacza brak w ogóle jakiegokolwiek programu stronicowania. Gdy przez użycie tej opcji stosowany jest program stronicujący, włączana jest także jedna z opcji `-l' lub `-t', w zależności od tego, czy w nazwie pagera pojawia się łańcuch `less' czy nie. Często warto zdefiniować `wdiff' jako alias dla `wdiff -a'. Jednak ukrywa to zwykłe zachowanie się programu. Można je przywrócić po prostu przepuszczając potokiem wyjście wdiff przez cat. Taki sposób odłącza wyjście od terminala.
`--printer'
`-p'
Stosuje nadruk do wyróżnienia części wyjścia. Każdy ze znaków usuniętego tekstu jest podkreślany przez wypisanie najpierw znaku podkreślenia `_', a następnie znaku cofnięcia (backspace) i litery, jaka ma zostać podkreślona. Każdy ze znaków wstawionego tekstu jest pogrubiany przez wypisanie go dwukrotnie, z cofnięciem pomiędzy przebiegami. Domyślnie ta opcja nie jest włączona.
`--less-mode'
`-l'
Stosuje nadruk do wyróżnienia części wyjścia. Działa jak opcja -p, ale dodatkowo nadpisuje białe znaki związane z wstawianym tekstem. less pokazuje takie białe znaki stosując negatyw obrazu. Domyślnie ta opcja nie jest włączona. Jest jednak włączana automatycznie każdorazowo gdy wdiff uruchamia less. Zobacz opcję `-a'. Jest często stosowana w połączeniu z less:
wdiff -l stary_plik nowy_plik | less
`--terminal'
`-t'
Wymusza tworzenie łańcuchów termcap do wyróżniania części wyjścia, nawet jeśli standardowe wyjście nie jest związane z terminalem. Zmienna środowiskowa `TERM' musi zawierać nazwę poprawnego wpisu z termcap. Jeśli pozwala na to opis danego terminala, do oznaczania usuniętego tekstu stosowane jest podkreślenie, a do wstawionego tekstu pogrubienie lub negatyw. Domyślnie ta opcja nie jest włączona. Jest jednak włączana automatycznie każdorazowo gdy wdiff uruchamia program stronicujący i wiadomo, że nie jest to less. Zobacz opcję `-a'. Tę opcję stosuje się powszechnie gdy wyjście wdiff nie jest przekierowane, ale wysyłane wprost na terminal, jak w:
wdiff -t stary_plik nowy_plik
Częste rozwiązanie to korzystanie z wdiff razem z programem stronicującym more:
wdiff -t stary_plik nowy_plik | more
Jednak niektóre wersje more wykorzystują wyróżnienia termcap do własnych celów, więc mogą wystąpić dziwne wzajemne oddziaływania.
`--start-delete argument'
`-w argument'
Stosuje argument jako łańcuch początku usuwania. Zostanie on wypisany przed każdą sekwencją usuniętego tekstu, zaznaczając jej początek. Domyślnie nie jest używany żaden łańcuch początku usuwania, chyba że nie ma innych środków, dzięki którym można by rozpoznać, gdzie się zaczyna taki tekst. Wówczas domyślnym łańcuchem początku usuwania jest `[-'.
`--end-delete argument'
`-x argument'
Stosuje argument jako łańcuch końca usuwania. Zostanie on wypisany po każdej sekwencji usuniętego tekstu, zaznaczając jej koniec. Domyślnie nie jest używany żaden łańcuch końca usuwania, chyba że nie ma innych środków, dzięki którym można by rozpoznać, gdzie się kończy taki tekst. Wówczas domyślnym łańcuchem końca usuwania jest `-]'.
`--start-insert argument'
`-y argument'
Stosuje argument jako łańcuch początku wstawiania. Zostanie on wypisany przed każdą sekwencją wstawionego tekstu, zaznaczając jej początek. Domyślnie nie jest używany żaden łańcuch początku wstawiania, chyba że nie ma innych środków, dzięki którym można by rozpoznać, gdzie się zaczyna taki tekst. Wówczas domyślnym łańcuchem początku wstawiania jest `{+'.
`--end-insert argument'
`-z argument'
Stosuje argument jako łańcuch końca wstawiania. Zostanie on wypisany po każdej sekwencji wstawionego tekstu, zaznaczając jej koniec. Domyślnie nie jest używany żaden łańcuch końca wstawiania, chyba że nie ma innych środków, dzięki którym można by rozpoznać, gdzie się kończy taki tekst. Wówczas domyślnym łańcuchem końca wstawiania jest `+}'.
`--avoid-wraps'
`-n'
Zabrania łączenia końców wiersza podczas pokazywania usuniętego lub wstawionego tekstu. Każdy pojedynczy fragment usuniętego lub wstawionego tekstu rozciągający się na wiele wierszy będzie uważany za złożony z wielu mniejszych kawałków nie zawierających znaku nowej linii. Zatem na przykład, usunięty tekst będzie miał łańcuch końca usuwania na końcu każdego wiersza, zaraz przed znakiem nowej linii, i łańcuch początku usuwania na początku następnego wiersza. Każdy wiersz w długim akapicie wstawionego tekstu będzie ujęty pomiędzy łańcuchy początku wstawiania i końca wstawiania. To zachowanie domyślnie nie jest włączone.

Zauważ, że opcje `-p', `-t' i `-[wxyz]' nie wykluczają się wzajemnie. Używając dowolnej ich kombinacji sumuje się po prostu efekty każdej z nich. Opcja `-l' jest wariantem opcji `-p'.


Przejdź do pierwszej, poprzedniej, następnej, ostatniej sekcji, spisu treści.