diff (1)
NÉV
diff - két file közti különbségeket jelez
HASZNÁLAT
diff [opciók] forrásfile célfile
LEÍRÁS
A legegyszerûbb esetben, a diff a forrás- és a célfile tartalmát hasonlítja össze. Ha nem adunk
meg filenevet, akkor a billentyûzetrôl olvas be szöveget. Speciális esetben a "diff - -" a
billentyûzetrôl beolvasott szöveg másolatát hasonlítja össze az eredetivel.
Ha a forrásfile egy könyvtár neve míg a célfile nem, akkor a diff a könyvtárból azt a filet
hasonlítja össze a célfile-lal, melynek neve megegyezik a célfile nevével és fordítva. Ebben az
esetben a célfile nem lehet névtelen.
Ha mind a forrásfile, mind a célfile könyvtár, akkor a diff a megfelelô file-okat hasonlítja
össze a két könyvtárban, méghozzá ABC szerinti sorrendben; az összehasonlítás azonban nem
rekurzív kivéve, ha a -r vagy a --recursive opciót is beállítjuk. A diff sohasem £gy hasonlítja a
két könyvtár pillanatnyi tartalmát, mintha azok file-ok lennének.
A diff parancs opciói a - karakterrel kezdôdnek, igy a forrás- és célfile neve jobb ha nem
kezdôdik - karakterrel, bár a - - argumentum hatására a diff a további argumentumokat
filenévként kezeli, még akkor is ha azok -lel kezdôdnek.
OPCIÓK
Most pedig a GNU diff által elfogadott összes opció leírása következik. A legtöbb opciót két
név azonosít, az egyikük egybetûs és - elôzi meg, míg a másikat hossz£ név azonosítja és - -
elôzi meg. Ha több egybetûs opció áll egymás után, akkor (ha nem igényelnek argumentumot)
összevonhatjuk ôket : -ac hatása megegyezik -a -c-vel. A hossz£ névvel ellátott
opciókat rövidíthetjük bármilyen egyedi azonosítóval, melyeket a nevük elejébôl képzünk. Ha
valamely opció argumentumot igényel azt zárójelekkel ( [ ] ) tüntetjük fel.
-lines
Egy szövegbôl lines (mint egész szám) sort ír ki. Önmagában nem valamilyen formátumban
irja ki az outputot; nincs semmi hatása, ha nem a -c vagy -u opcióval együtt használjuk. Ez az
opció egyébként elavult. A megfelelô mûködéséhez tipikusan a patch legalább két sornyi
szöveget igényel.
-a
Hatására a diff az összes file-t szövegként kezeli és soronként hasonlítja össze, még akkor is
ha a file-ok nem szöveges állományok.
-b
Figyelmen kívül hagyja az üres helyek számában jelentkezô különbségeket.
-B
Figyelmen kívül hagyja az üres sorok besz£rásával, vagy törlésével keletkezô különbségeket.
--brief
Csak arról értesít, hogy a két file különbözik-e, arról nem, hogy miben.
-c
Az összefüggô szöveg output formátumot használja.
-C lines
--context[=lines]
Az összefüggô szöveg output formátumot használja, lines db. vagy 3 sort kiírva, ha nem
adtunk paramétert. A megfelelô mûködéséhez tipikusan a patch legalább két sornyi szöveget
igényel.
-d
Módosítja az algoritmust, hogy az kisebb változásokat is észleljen. Hatására a diff lass£vá
(néha nagyon lass£vá) válik.
-D name
Egyesített if-then-else output formátumot képez, a name makró feltételei/szabályai alapján.
- -e
-
- --ed
-
Készít egy output-ot, hogy érvényes legyen az
ed
script.
- --exclude= pattern
-
Mikor directory-kat hasonlít össze, akkor nem veszi figyelembe
azokat a file-kat és subdirecyory-kat, amelyek bázis neve
összeíllik a
pattern-el.
- --exclude-from= file
-
Mikor directory-kat hasonlít össze, akkor nem veszi figyelembe
azokat a file-kat és subdirecyory-kat, amelyek bázis neve
megegyezik néhány mintával,amely a
file-ban van.
- --expand-tabs
-
Szóközökre cseréli a tabokat az output file-ban,
hogy az input file formátumát megtartsa.
- -f
-
Készít egy olyan output-ot, ami
ed
script-nek tũnik, de a változások sorban
feltûnek a file-ban.
- --forward-ed
-
Készít egy olyan output-ot, ami
ed
script-nek tûnik, de a változások sorban
feltûnek a file-ban.
- -h
-
Ennek az opciónak nincsen hatása; Unix
kompatibilít´s miatt van jelen.
- -H
-
Azokon a nagy file-okon, amelyeknek számos szétszort kis
változásuk van, a gyors kezelés érdekében
heuristikát használ.
- -i
-
Semmibe veszi a változásokat, nagy és kis betûk
különbözôsége esetén.
- -I regexp
-
Csak akkor nem veszi figyelembe a változásokat, ha a
beszûrt ill. törölt sorok megegyeznek a
regexp-pel.
- --ifdef= name
-
Készít egyesített if-then-else formátumú
output-ot, amely megfelel a
name macro-ban definiált formátumnak.
- --ignore-all-space
-
Figyelmen kívül hagyja az üres részt, mikor
összehasonlítja a sorokat.
- --ignore-blank-lines
-
Csak akkor nem veszi figyelembe a változásokat, ha üres
sorokat szúrtunkbe ill. töröltünk.
- --ignore-case
-
Semmibe veszi a változásokat, nagy és és kis
betûk ugyanazok.
- --ignore-matching-lines= regexp
-
Csak akkor nem veszi figyelembe a változásokat, ha a
beszûrt ill. törölt sorok megegyeznek a
regexp-pel.
- --ignore-space-change
-
Üres sorok összegében figyelmen kívül hagyja a
változásokat.
--kezdö-cimke
A kimenet inkább tab mint space egy normal vagy context
formátumú sor
szövege elôtt. Ez eredményezi, hogy a tabok
egymásutánisága a sorban
normálisan néz ki.
- -l
-
keresztülmegy az output-on
pr
hogy lapszámozza azt.
- -L cimke
-
- --label= cimke
-
Használjunk
cimkét
file név helyett context formában es ismeretlen formátum
fejrészben.
- --left-column
-
Csak a bal oszlopát írja ki két átlagos sornak
oldalról oldalra formátumban.
- --line-format= formátum
-
Használjunk
formázást
az outputhoz minden in-then-else formáju input sornál.
- --minimal
-
kicseréli az algoritmust annak reményében, hogy
talál egy kisebb halmazát a változásoknak. Ezt a
diff
lassabban csinálja (olykor sokkal lassabban).
- -n
-
Kimenet RCS-formátumban; mint ahogy
-f
kivételt tesz az összes parancssal ami kiköteseket tesz a
sorok számára.
- -N
-
- --new-file
-
Könyvtár összehasonlitásban, ha egy file csak az
egyik könyvtárban talalhato, jelen lesz a másikban
is csak üresen.
- --new-group-format= formátum
-
A használt
formátum
az output-nál a sorok egy csoportjára a masodik file-bol
származik if-then-else formában.
- --new-line-format= formátum
-
A használt
formátum
az output egy sorára a második file-ból származik
if-then-else formában.
- --old-group-format= form´atum
-
A használt
formátum
az output-nál a sorok egy csoportjára az elsö
file-ból származik if-then-else formában.
- --old-line-format= formátum
-
A használt
formátum
az output egy sorára az elsö file-ból sz´armazik
if-then-else formában.
- -p
-
Megmutatja, hogy melyik C függvényben van minden
változás benne.
- -P
-
Amikor kónyvtarakat hasonlít össze, hogyha a file a
kettö közul csak a másodikban van jelen, akkor
láthato lesz a másikban is, de üresen.
- --paginate
-
Keresztül megy az output-on
pr
hogy lapszámozza azt.
- -q
-
Csak tájekoztat, hogy a file-ok külonböznek-e, nem
részletezi ki a különbségeket.
- -r
-
Amikor könyvtárakat hasonlítunk össze,
rekurzívan összehasonlít valamennyi megtalált
alkönyvtárat is.
- --rcs
-
Kimenet RCS-formátumban; mint ahogy
-f
kivételt tesz az összes parancssal ami kikötéseket
tesz a sorok számára.
- --recursive
-
Amikor könyvtárakat hasonlítunk össze,
rekurzívan összehasonlít valamennyi megtalált
alkônyvtárat is.
- --tájekoztatás-azonos-fileokrol
-
- -s
-
Tájekoztat, ha a két file azonos.
- -S file
-
Amikor könyvtárakat hasonlítunk össze, a file-al
kezdi
file .
Ezt megszakadt összehasonlítás
újrakezdése´re haszn´alhatjuk.
- --sdiff-merge-assist
-
Extra inform´aciot ír ki, hogy segítséget
nyújtson
sdiff-hez.
sdiff
ezt az opciót akkor haszn´alja amikor fut
diff .
Ez az opcio nem lett a felhasználoknak közvetlen
használatra tervezve.
- --show-c-function
-
Megmutatja, hogy melyik az a C függvény, aminek minden változata bent van.
- --show-function-line= regexp
-
A szöveg és egységes formátumban minden nagy különbségre megmutat néhány
olyan korábbi sort, ami azonos regexppel.
- --side-by-side
-
Beállítja az oldalról-oldalra output formátumot.
- --speed-large-files
-
Heurisztikát használ az olyan nagy fileok sebességének kezelésére, amik
számos elszórt kicsi különbséget tartalmaznak.
- --starting-file= file
-
Ha könyvtárakat hasonlítunk össze, filelal kezdi az összehasonlítást. Ezt
használja megszakított összehasonlítás újrakezdésénél.
- --suppress-common-lines
-
Nem írja ki az azonos sorokat az oldalról-oldalra formátumnál.
- -t
-
A tabulátorkat szóközökkel helyettesíti az output fileban, megõrizve ezzel
a tabulátorok sorát az input fileban.
- -T
-
Az output fileban a szöveg sorai elõtt tabulátort használ szóköz helyett
normál vagy szöveg formátumnál azért, hogy a sorban a tabulátorok
normálisan nézzenek ki.
- --text
-
Szövegként kezel minden filet és összehasonlítja õket sorról-sorra, még ha
nem is látszanak szövegnek.
- -u
-
Beállítja az egységes formátumot.
- --unchanged-group-format= format
-
Beállítja a format formátumot azoknak a soroknak a csoportjára, amelyek
mindkét fileban if-then-else formátumban találhatóak.
- --unchanged-line-format= format
-
Beállítja a format formátumot azokra a sorokra, amelyek mindkét fileban
if-then-else formátumban találhatóak.
- --unidirectional-new-file
-
Összehasonlítja a könyvtárakat.Ha egy file a két könyvtár közül csak a
másodikban jelenik meg, akkor úgy veszi, hogy létezik, de nincs benne
a másik könyvtárban.
- -U lines
-
- --unified[= lines ]
-
Beállítja az egységes output formátumot és megmutat lines (integer típusú)
sort a szövegbõl, vagy három sort, ha lines nincs megadva. A hibátlan
mûködés érdekében a patchnek szüksége van a szöveg legalább két sorára.
- -v
-
- --version
-
Kiírja a diff verziószámát.
- -w
-
Kihagyja a szóközöket a sorok összehasonlítása közben.
- -W columns
-
- --width= columns
-
Az output fileban columns lesz a szélesség oldalról-oldalra formátumnál.
- -x pattern
-
Amikor összehasonlítja a könyvtárakat, kihagyja azokat a fileokat és
alkönyvtárakat, melyeknek a neve megegyezik a mintával (pattern).
- -X file
-
Amikor könyvtárakat hasonlít össze, kihagyja azokat a fileokat és
alkönyvtárakat, melyeknek a neve megegyezik bármely mintával a fileban.
- -y
-
Beállítja az oldalról-oldalra output formátumot.
LÁSD MÉG
cmp(1), comm(1), diff3(1), ed(1), patch(1), pr(1), sdiff(1).
VIZSGÁLAT
A 0 kilépési érték azt jelenti, hogy nem talált különbséget, 1 jelenti, hogy
talált némi különbséget és a 2 a hibát jelenti.