Scroll to navigation

DIFF(1) Nástroje GNU DIFF(1)

JMÉNO

diff - najde rozdíly mezi dvěma soubory

POUŽITÍ

diff [volby] ze-souboru do-souboru

POPIS

V nejjednodušším případě program diff porovnává obsahy souborů ze-souboru a do-souboru. Jméno souboru - znamená text čtený ze standardního vstupu. Jako zvláštní případ diff - - porovná kopii standardního vstupu samu se sebou.

Pokud je ze souboru adresářem a do-souboru nikoliv, diff porovnává soubor v ze-souboru jehož jméno je stejné jako do-souboru, a naopak. Soubor, který není adresářem, však nesmí být -.

Pokud jsou oba ze-souboru a do-souboru adresáři, program diff porovnává odpovídající soubory v obou adresářích, v abecedním pořadí; toto porovnávání není rekurzivní, ledaže je použita volba -r nebo --recursive. Program diff nikdy neporovnává skutečný obsah adresáře, jako by to byl soubor. Soubor, který je úplně určený nemůže být standardní vstup, protože standardní vstup je bezejmenný a zápis ``soubor se stejným jménem'' se na tento případ nevztahuje. Volby programu diff začínají znakem -, takže za běžných okolností ze-souboru a do-souboru nemohou začínat na -. Nicméně argumenty uvedené za -- jsou považovány za jména souborů i v případě, že začínají na -.

Volby

Následuje souhrn všech voleb, které GNU diff akceptuje. Většina voleb má dvě rovnocenná jména; první jako jediné písmeno, kterému předchází - a druhé - dlouhé jméno, kterému předchází --. Více jednopísmenných voleb (pokud nevyžadují argument) může být spojeno do jednoho slova: -ac je rovnocenné zápisu -a -c. Dlouhá jména voleb mohou být zkrácena na jakýkoliv jedinečný začátek svého jména. Hranaté závorky ([ a ]) označují že volba může být doplněna argumentem.

-počet
Zobrazí počet (celé číslo) řádků kontextu. Tato volba sama o sobě neurčuje výstupní formát a projeví se jen v kombinaci s -c nebo -u. Tato volba je zastaralá. Aby mohl program patch správně fungovat, potřebuje obvykle nejméně dva řádky kontextu.
Považuje všechny soubory za textové a porovnává je řádek po řádku, i když textové nejsou.
Ignoruje změny v objemu white space.
Ignoruje změny, které pouze vloží nebo vypustí prázdné řádky.
Pouze oznámí, zda se soubory liší, bez podrobností o změnách.
Použije kontextový výstupní formát.

Použije kontextový výstupní formát se zobrazením zadaného počtu řádků (celé číslo) kontextu. Není-li počet řádků určen, jsou zobrazeny tři. Aby mohl program patch správně fungovat, potřebuje obvykle nejméně dva řádky kontextu.
Použije formát k vypsání skupiny řádek, obsahující lišící se řádky z obou souborů ve tvaru if-then-else.
Změní algoritmus tak, že může najít i menší sadu změn. Program diff se tak zpomalí (někdy výrazně).
Způsobí výstup ve spojeném formátu if-then-else, v závislosti na jménu makra preprocesoru.

Vzniklý výstup je validním skriptem programu ed.
Při porovnávání adresářů ignoruje soubory a podadresáře, jejichž basenames odpovídají tomuto vzoru.
Při porovnávání adresářů ignoruje soubory a podadresáře, jejichž basenames odpovídají jakémukoliv vzoru obsaženému v souboru.
Ve výstupu převede tabulátory na mezery, aby zachoval zarovnání tabulátorů ze vstupních souborů
Výstup zhruba připomíná skript programu ed, ale obsahuje změny v pořadí, v jakém se v souboru objevují.
Při použití kontextového nebo sjednoceného formátu ukazuje pro každý soubor změn tu část z předcházejícího řádku, která odpovídá regulárnímu_výrazu.
Výstup zhruba připomíná skript programu ed, ale obsahuje změny v pořadí, v jakém se v souboru objevují.
Tato volba nemá v současnosti žádný význam, je přítomna pro kompatibilitu s Unixem.
Používá heuristiku pro urychlení práce s velkými soubory, které obsahují mnoho rozptýlených malých změn.
Nezahazuje posledních n řádků společného prefixu a prvních n řádků společnéhu suffixu.
Ignoruje změny ve velikosti písmen; Považuje malá a velká písmena za rovnocenná.
Ignoruje změny, které pouze vloží nebo smažou řádky odpovídající regulárnímu_výrazu.
Způsobí výstup ve spojeném formátu if-then-else, v závislosti na jménu makra preprocesoru.
Při porovnávání řádků ignoruje white space.
Ignoruje změny, které pouze vloží nebo smažou prázdné řádky.
Ignoruje změny ve velikosti písmen; Považuje malá a velká písmena za rovnocenná.
Ignoruje změny, které pouze vloží nebo smažou řádky odpovídající regulárnímu_výrazu.
Ignoruje změny v objemu white space.
U normálního nebo kontextového formátu vypíše před textem na řádce místo mezery tabulátor. Díky tomu bude zarovnání tabulátorů na řádce vypadat normálně.
Zpracuje výstup programem pr, aby jej rozdělil na stránky.

Použije label namísto jména souboru v hlavičkách kontextového a sjednoceného formátu.
V případě formátu "side by side" vypíše u dvou společných řádků pouze levý sloupec.
Použije formát pro vypsání všech vstupních řádků ve formátu if-then-else.
Změní algoritmus tak, že může najít i menší sadu změn. Program diff se tak zpomalí (někdy výrazně).
Výstupem jsou rozdíly ve formátu RCS; podobně jako´s volbou -f, ale každý příkaz určuje počet dotčených řádků.

Při porovnávání adresářů, je-li soubor obsažen pouze v jednom z nich, je v tom druhém považován za existující a prázdný.
Použije format pro vypsání skupiny řádků ze druhého souboru ve formátu if-then-else.
Použije formát pro vypsání řádky ze druhého souboru ve formátu if-then-else.
Použije formát pro vypsání skupiny řádků z prtvního souboru ve formátu if-then-else.
Použije formát pro vypsání řádky z prvního souboru ve formátu if-then-else.
Ukáže, v jaké funkci jazyka C je každá změna.
Při porovnávání adresářů, je-li soubor obsažen pouze v druhém z nich, je v tom prvním považován za existující a prázdný.
Zpracuje výstup programem pr, aby jej rozdělil na stránky.
Pouze oznámí, zda se soubory liší, bez podrobností o změnách.
Při porovnávání adresářů jsou rekurzivně prohledávány všechny nalezené podadresáře.
Výstupem jsou rozdíly ve formátu RCS; podobně jako´s volbou -f, ale každý příkaz určuje počet dotčených řádků.
Při porovnávání adresářů jsou rekurzivně prohledávány všechny nalezené podadresáře.

Pokud jsou dva sobory shodné, oznámí to.
Při porovnávání adresářů začne souborem soubor. To se používá pro obnovení přerušeného porovnávání.
Porovná soubor se všemi operandy. soubor může být adresář.
Porovná všechny operandy se souborem. soubor může být adresář.

Vypíše další informace pro pomoc programu sdiff. Program sdiff používá tuto volbu, když spouští program diff. Tato volba není míněna pro přímé používání uživateli.
Ukáže, v jaké funkci jazyka C je každá změna.
Při použití kontextového nebo sjednoceného formátu ukazuje pro každý soubor změn tu část z předcházejícího řádku, která odpovídá regulárnímu_výrazu.
Použije výstupní formát "side by side".
Používá heuristiku pro urychlení práce s velkými soubory, které obsahují mnoho rozptýlených malých změn.
Při porovnávání adresářů začne souborem soubor. To se používá pro obnovení přerušeného porovnávání.
Při použití formátu "side by side" netiskne shodné řádky.
Ve výstupu převede tabulátory na mezery, aby zachoval zarovnání tabulátorů ze vstupních souborů.
U normálního nebo kontextového formátu vypíše před textem na řádce místo mezery tabulátor. Díky tomu bude zarovnání tabulátorů na řádce vypadat normálně.
Považuje všechny soubory za textové a porovnává je řádek po řádku, i když textové nejsou.
Použije sjednocený výstupní formát.
Použije format k vypsání skupiny řádků společné oběma souborům ve formátu if-then-else.
Použije formát k vypsání řádku společného oběma souborům ve formátu if-then-else.
Při porovnávání adresářů, je-li soubor obsažen pouze v druhém z nich, je v tom prvním považován za existující a prázdný.

Použije sjednocený formát výstupu se zobrazením určeného počtu (celé číslo) řádků kontextu nebo tří řádků, pokud nebyl počet určen. Aby mohl program patch správně fungovat, potřebuje obvykle nejméně dva řádky kontextu.

Vypíše číslo verze programu diff.
Při porovnávání řádků ignoruje white space.

Při použití formátu "side by side" použije jako šířku výstupu zadaný počet sloupců.
Při porovnávání adresářů ignoruje soubory a podadresáře, jejichž basenames odpovídají vzoru.
Při porovnávání adresářů ignoruje soubory a podadresáře, jejichž basenames odpovídají jakémukoliv vzoru obsaženému v souboru.
Použije výstupní formát "side by side"

DALŠÍ INFORMACE

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

DIAGNOSTIKA

Návratový kód 0 znamená, že nebyly nalezeny žádné rozdíly, 1 znamená, že rozdíly nalezeny byly a 2 znamená problémy.

3.září 2009