diff

Autres langues

Langue: pl

Autres versions - même langue

Version: 1 paŒdziernika 1994 (openSuse - 09/10/07)

Section: 1 (Commandes utilisateur)

NAZWA

diff - szukanie ró¿nic pomiêdzy dwoma plikami

SK£ADNIA

diff [opcje] plik1 plik2

OPIS

Dokumentacja niniejsza nie jest ju¿ utrzymywana i mo¿e byæ niedok³adna lub niekompletna. Autorytatywnym ¼ród³em jest obecnie dokumentacja Texinfo. Dostêp do niej uzyskasz wpisuj±c w wierszu poleceñ:
pinfo diff
lub
info diff.
W najprostszym przypadku diff porównuje zawarto¶æ dwóch plików, plik1 i plik2. Nazwa pliku - oznacza tekst odczytywany ze standardowego wej¶cia. W specjalnym przypadku "diff - -" porównuje kopiê standardowego wyj¶cia ze samym sob±.

Je¶li plik1 jest katalogiem a plik2 nie, diff porównuje plik z katalogu plik1, którego nazwa jest taka sama, jak plik2, i odwrotnie. Plik nie bêd±cy katalogiem nie mo¿e byæ -.

Je¶li zarówno plik1 jak i plik2 s± katalogami, diff porównuje odpowiednie pliki w obu katalogach, w kolejno¶ci alfabetycznej. To porównanie nie jest rekurencyjne, chyba ¿e podano opcjê -r lub --recursive. diff nigdy nie porównuje zawarto¶ci katalogu tak, jakby by³ on plikiem. Podany plik nie mo¿e byæ standardowym wej¶ciem, poniewa¿ standardowe wej¶cie nie ma nazwy i nie dotyczy go zapis `plik o tej samej nazwie'.

Opcje diff na ogó³ zaczynaj± siê od -, wiêc zwykle nazwy plików plik1 oraz plik2 nie mog± zaczynaæ siê od -, jednak argument -- traktuje pozosta³e argumenty jako nazwy plików, nawet je¶li zaczynaj± siê one od -.

OPCJE

Poni¿ej znajduje siê podsumowanie wszystkich opcji akceptowanych przez GNU diff. Wiêkszo¶æ opcji posiada dwie równowa¿ne formy, jedn± z nich jest pojedyncza litera poprzedzona kresk± -, a drug± pe³na nazwa poprzedzona przez --. Wiele pojedynczych liter opcji (nie wymagaj±cych argumentu) mo¿e byæ ³±czonych w pojedynczym s³owie: `-ac' jest równowa¿ne z `-a -c'. Opcje w formie pe³nej nazwy mog± byæ skracane do dowolnego unikalnego przedrostka. Klamry ([ i ]) oznaczaj±, ¿e opcja pobiera opcjonalny argument.
-i

--ignore-case
Ignorowanie zmian w wielko¶ci liter, du¿e i ma³e litery s± uznawane za równowa¿ne.
-w

--ignore-all-space
Ignorowanie wszystkich odstêpów przy porównywaniu plików.
-b

--ignore-space-change
Ignorowanie zmian w ilo¶ci odstêpów.
-B

--ignore-blank-lines
Ignorowanie zmian, które jedynie dodaj± lub usuwaj± puste linie.
-I regexp

--ignore-matching-lines=regexp
Ignorowanie zmian, które jedynie dodaj± lub usuwaj± linie pasuj±ce do wyra¿enia regularnego regexp.
--binary
diff normalnie czyta i zapisuje wszystkie dane jako tekst. Ta opcja wymusza odczyt i zapis danych w trybie binarnym. Nie ma efektu na systemach zgodnych z POSIX, jak GNU czy tradycyjne Uniksy. Jednak wiele systemów operacyjnych komputerów osobistych oznacza koniec linii dwuznakow± sekwencj±: znakiem powrotu karetki plus znak nowej linii. Na takich systemach diff normalnie ignoruje powroty karetki na wej¶ciu i generuje je na koñcu ka¿dej linii wyj¶ciowej, ale z opcj± --binary traktuje powrót karetki jak ka¿dy inny znak wej¶ciowy i nie dok³ada go na koñcu tworzonych linii. Przydatne do operowania na plikach nie-tekstowych, które maj± byæ wymieniane z systemami POSIX-owymi.
Do porównywania dwu plików bajt po bajcie s³u¿y polecenie cmp(1).
-a

--text
Traktowanie wszystkich plików jako pliki tekstowe i porównywanie ich linia po linii, nawet je¶li nie wygl±daj± one na pliki tekstowe.
-c

-C linie

--context[=linie]
U¿ycie kontekstowego formatu wyj¶ciowego z pokazaniem ilo¶ci linii kontekstu podanej w linie (warto¶æ ca³kowita), lub trzy je¶li nie podano linie. Do prawid³owego dzia³ania patch potrzebuje co najmniej dwóch linii kontekstu.
-u

-U linie

--unified[=linie]
U¿ycie zunifikowanego formatu wyj¶ciowego i pokazanie ilo¶ci linii kontekstu podanej w linie (warto¶æ ca³kowita), lub trzy je¶li nie podano linie. Do prawid³owego dzia³ania patch potrzebuje co najmniej dwóch linii kontekstu.
-linie
Wy¶wietlenie ilo¶ci linii kontekstu podanej w linie (warto¶æ ca³kowita). Ta opcja nie ustala wyj¶ciowego formatu, nie ma ona efektu je¶li nie podano opcji -c lub -u. Ta opcja jest przestarza³a. Do prawid³owego dzia³ania patch potrzebuje co najmniej dwóch linii kontekstu.
-L etykieta

--label=etykieta
U¿ycie tekstu etykieta w miejsce nazwy plików w nag³ówku formatu kontekstowego i zunifikowanego.
-p

--show-c-function
Pokazanie, do jakiej funkcji C nale¿y ka¿da ze zmian.
-F regexp

--show-function-line=regexp
Pokazanie ostatniej poprzedzaj±cej linii, która pasuje do wyra¿enia regularnego regexp dla ka¿dego ró¿ni±cego siê fragmentu w formacie kontekstowym i zunifikowanym.
-q

--brief
Poinformowanie jedynie o tym, czy pliki siê ró¿ni±, bez podawania szczegó³ów na temat ró¿nic.
-e

--ed
Stworzenie wyj¶cia, które jest poprawnym skryptem ed.
-f

--forward-ed
Stworzenie wyj¶cia, które wygl±da prawie tak jak skrypt ed, ale zawiera modyfikacje w kolejno¶ci pojawiania siê zmian w pliku.
-n

--rcs
Wyprowadzenie ró¿nic w formacie RCS, tak jak -f, z tym wyj±tkiem, ¿e ka¿da komenda wyszczególnia numer linii, której dotyczy.
-y

--side-by-side
U¿ycie formatu wyj¶ciowego jeden obok drugiego.
-W kolumny

--width=kolumny
U¿ycie szeroko¶ci wyj¶cia kolumny w formacie jedna obok drugiej.
--left-column
Wy¶wietlenie jedynie lewej kolumny z dwóch wspólnych w formacie jedna obok drugiej.
--suppress-common-lines
Nie wy¶wietlanie wspólnych linii w formacie jedna obok drugiej.
-D nazwa

--ifdef=nazwa
Stworzenie po³±czonego wyj¶cia w formacie #ifdef, zale¿nego od makra preprocesora nazwa.
--old-group-format=formatgrupy
U¿ycie formatu formatgrupy do wyprowadzenia grupy linii wziêtej jedynie z pierwszego pliku. Pomocne w tworzeniu plików wynikowych o konstrukcji typu if-then-else.
--new-group-format=formatgrupy
U¿ycie formatu formatgrupy do wyprowadzenia grupy linii wziêtej jedynie z drugiego pliku. Pomocne w tworzeniu plików wynikowych o konstrukcji typu if-then-else.
--changed-group-format=formatgrupy
U¿ycie formatu wyj¶ciowego formatgrupy do wy¶wietlania grupy linii zawieraj±cych ró¿ni±ce siê linie z obu plików. Pomocne w tworzeniu plików wynikowych o konstrukcji typu if-then-else.
--unchanged-group-format=formatgrupy
U¿ycie formatu formatgrupy do wyprowadzenia wspólnej grupy linii wziêtej z obu plików. Pomocne w tworzeniu plików wynikowych o konstrukcji typu if-then-else.

Format grupy linii
W formacie okre¶laj±cym sposób wypisania grupy linii zwyk³e znaki oznaczaj± same siebie; specyfikacje konwersji zaczynaj± siê od znaku procentu % i maj± jedn± z poni¿szych postaci:
%<
linie z plik1, ³±cznie z koñcowym znakiem nowej linii, formatowane zgodnie z formatem starych linii
%>
linie z plik2, formatowane zgodnie z formatem nowych linii
%=
linie wspólne dla obu plików, formatowane zgodnie z formatem linii niezmienionych
%[-][szer][.[dok³]]{doxX}litera
warto¶æ okre¶lona liter±, sformatowana w stylu printf. litery maj±, w odniesieniu do grup linii w nowym pliku, nastêpuj±ce znaczenie (dla grup w starym pliku u¿ywa siê ma³ych liter):

   F  numer pierwszej linii

   L  numer ostatniej linii

   N  ilo¶æ linii = L-F+1

   E  F-1

   M  L+1

%%
pojedynczy dos³owny znak procentu %.
%c'C'
gdzie C jest pojedynczym znakiem, oznacza C. Nie mo¿e to byæ odwrotny uko¶nik ani apostrof. Na przyk³ad, %c':' oznacza dwukropek, nawet wewn±trz czê¶ci then formatu if-then-else, któr± normalnie by koñczy³.
%c'\O'
gdzie O jest ³añcuchem 1, 2 lub 3 cyfr ósemkowych, oznacza znak o kodzie ósemkowym O. Na przyk³ad, %c'\0' oznacza znak null.
(A=B?T:E)
Je¶li A równa siê B, to T, w przeciwnym razie E. A i B s± albo obie sta³ymi podanymi dziesiêtnie albo pojedynczymi literami, interpretowanymi jak wy¿ej.
--line-format=formatlinii
U¿ycie formatu formatlinii do wyprowadzenia wszystkich linii. To samo, co równoczesne u¿ycie wszystkich opcji formatowania linii (--old-line-format, --new-line-format, --unchanged-line-format) z tym samym formatem. Pomocne w tworzeniu plików wynikowych o konstrukcji typu if-then-else.
--old-line-format=formatlinii
U¿ycie formatu formatlinii do wyprowadzenia linii wziêtej jedynie z pierwszego pliku. Pomocne w tworzeniu plików wynikowych o konstrukcji typu if-then-else.
--new-line-format=formatlinii
U¿ycie formatu formatlinii do wyprowadzenia linii wziêtej jedynie z drugiego pliku. Pomocne w tworzeniu plików wynikowych o konstrukcji typu if-then-else.
--unchanged-line-format=formatlinii
U¿ycie formatu formatlinii do wyprowadzenia wspólnej linii wziêtej z obu plików. Pomocne w tworzeniu plików wynikowych o konstrukcji typu if-then-else.

Format linii
W formacie okre¶laj±cym sposób wypisania linii zwyk³e znaki oznaczaj± same siebie; specyfikacje konwersji zaczynaj± siê od znaku procentu % i maj± jedn± z poni¿szych postaci:
%l
zawarto¶æ danej linii, nie licz±c koñcz±cego j± znaku nowej linii (je¶li jest takowy). Ten format ignoruje czy linia jest niekompletna czy poprawnie zakoñczona.
%L
zawarto¶æ danej linii, ³±cznie z koñcz±cym j± znakiem nowej linii (je¶li jest takowy). Je¿eli linia jest niekompletna, to zachowuje tê niekompletno¶æ.
%[-][szer][.[dok³]]{doxX}n
numer linii wej¶ciowej, sformatowany w stylu printf.
%%
dos³owny znak procentu %.
%c'C'
dos³owny znak C. Nie mo¿e to byæ odwrotny uko¶nik ani apostrof.
%c'\O'
znak o kodzie ósemkowym O.
-l

--paginate
Przes³anie wyj¶cia przez pr, aby podzieliæ je na strony.
-t

--expand-tabs
Rozszerzanie tabulatorów do spacji na wyj¶ciu, aby zachowaæ oryginalne u³o¿enie tabulatorów pliku wej¶ciowego.
-T

--initial-tab
Wyprowadzenie tabulatora zamiast spacji przed tekstem linii w formacie normalnym lub kontekstowym. Powoduje to normalny wygl±d tabulatorów w linii.
-r

--recursive
Rekurencyjne porównanie wszystkich podkatalogów, je¶li porównywane s± katalogi.
-N

--new-file
Je¶li podczas porównywania katalogów plik istnieje jedynie w jednym z katalogów, bêdzie traktowany tak, jakby by³ obecny w drugim katalogu, ale pusty.
-P

--unidirectional-new-file
Je¶li podczas porównywania katalogów plik istnieje jedynie w drugim katalogu, bêdzie traktowany tak, jakby by³ obecny w pierwszym katalogu, ale pusty.
-s

--report-identical-files
Poinformowanie, je¶li oba pliki s± identyczne.
-x wzorzec

--exclude=wzorzec
Podczas porównywania katalogów, ignorowanie plików i podkatalogów, których nazwy pasuj± do wzorca wzorzec.
-X plik

--exclude-from=plik
Podczas porównywania katalogów, ignorowanie plików i podkatalogów, których nazwa pasuje do jednego z wzorców podanych w pliku plik.
-S plik

--starting-file=plik
Podczas porównywania katalogów rozpoczêcie od pliku plik. Opcja ta jest u¿yteczna podczas wznawiania przerwanego porównania.
--horizon-lines=linie
Nie ignorowanie ostatnich linie linii wspólnego przedrostka oraz pierwszych linie linii wspólnego przyrostka.
-d

--minimal
Zmiana algorytmu na taki, który mo¿e czasami znale¼æ mniejsz± liczbê zmian. Spowalnia to dzia³ania diff (czasami bardzo znacznie).
-H

--speed-large-files
U¿ycie algorytmów heurystycznych aby przyspieszyæ przeszukiwanie du¿ych plików ze znaczn± liczb± rozrzuconych ma³ych zmian.
-h
Ta opcja aktualnie nie ma ¿adnego efektu, ale istnieje dla zgodno¶ci z systemem Unix.
--sdiff-merge-assist
Wy¶wietlenie dodatkowych informacji pomocnych dla sdiff. sdiff korzysta z tej opcji gdy uruchamia diff. U¿ytkownicy nie powinni korzystaæ z tej opcji bezpo¶rednio.
--help
Wy¶wietlenie informacji o stosowaniu programu i dostêpnych opcjach.
-v

--version
Wy¶wietlenie numeru wersji programu.

KOPIOWANIE

Plik ten powsta³ na podstawie podrêcznika info pakietu diffutils.

Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.

Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.

Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Foundation.

ZOBACZ TAK¯E

cmp(1), comm(1), diff3(1), ed(1), patch(1), pr(1), sdiff(1).

DIAGNOSTYKA

Zwracana warto¶æ 0 oznacza, ¿e nie odnaleziono ró¿nic, 1 oznacza znalezienie ró¿nic, a 2 k³opoty.