Ve výpočetní technice se porovnávání souborů skládá z porovnání jejich obsahu a izolace jejich rozdílů od běžného obsahu. Výsledek srovnání lze zobrazit v grafickém uživatelském rozhraní grafického prostředí , v textovém režimu nebo jako součást širší sítě úkolů , v systému souborů nebo ve verzi správy systému .
Nejpoužívanějšími programy pro porovnávání souborů jsou diff , cmp (Unix) (en) nebo WinMerge .
Mnoho textových editorů a softwaru pro zpracování textu používá ke zvýraznění změn provedených v dokumentu srovnání souborů.
Většina nástrojů pro porovnávání souborů používá nejdelší běžnou subsekvenci mezi dvěma soubory k odebrání nebo vložení podle potřeby pro prezentaci.
Srovnání specifický algoritmus je patentován .
Vzdálený aktualizační protokol rsync používá hashovací funkci hash Rolling (in) k porovnání dvou souborů na dvou počítačích od sebe.
Na druhou stranu je srovnání souborů pro zpracování textu obvykle omezeno na úroveň slova, zatímco pro většinu programovacích nástrojů se obvykle používají algoritmy na úrovni řádků .
Nakonec ji některé aplikace mohou vyhledat na úrovni Byte nebo na úrovni znaků .
Porovnání souborů se používá z několika důvodů. Pro srovnání binárních souborů je určitě nejlepší srovnání na úrovni bajtů . Ale pro srovnání textových souborů se obvykle používá vizuální porovnání krok za krokem. To dává uživateli flexibilitu při rozhodování, který soubor upřednostnit; zda by měl být například sloučen obsah několika souborů, aby odrážely součet rozdílů nebo příspěvků; nebo také zda je ponechat tak, jak jsou, aby se k nim později vrátili; tyto mechanismy se zdají být formou řízení verzí . Toto řízení verzí je také důležité pro účely zálohování .
Srovnání souborů je také důležité a pravděpodobně nedílnou součástí synchronizace a / nebo zálohování souborů . Data korupce je podstata zálohovacích metod. K tomuto problému může teoreticky dojít bez varování nebo bez vědomí uživatele. To je důvod, proč nástroje pro zálohování většinou obsahují mechanismy pro porovnávání souborů.
Původně a dlouho před porovnáním souborů byly některé stroje schopny porovnávat magnetické pásky nebo děrovací karty . Například stroj IBM 704 mohl určit, zda je sada děrných štítků ekvivalentní duplikováním operací. V roce 1957 , John Van Gardner vyvinul systém pro porovnání kontrolních součtů již zatížených částí Fortran kódem v pořadí než při ladění sestavování problémy na IBM 704 počítače.