diffoscope

írta: sonar, 5 hónapja

diffoscope - egy file összehasonlító program ami több, mint 60 féle formátumot kezel.
https://diffoscope.org/

Az eredeti diff programot Douglas MyIlroy készítette 1974-ben. A Unix 5. kiadásban tűnt fel először, és azóta is megtalálható szinte minden Unix, Linux disztribúcióban. Az idők folyamán sok-sok alternatíva született, de szinte mindegyik plain-text file-okkal képes csak dolgozni.

A diffoscope-ot a Debian-os Reproducible Builds project keretén belül készítették. Ők felelnek azért, hogy a Debian-os csomagok megfelelő struktúrában és az architektúrának megfelelően készüljenek el. Közel 60.000 csomagról és számos architektúráról beszélünk. Teher alatt nő a pálma, szokták mondani. Szóval okos emberek akik jól akarták végezni a dolgukat elkezdték kidolgozni a saját tool-jukat, hogy a monoton munkát gyorsabbá és könnyebbé tegyék.
Ennek a munkának lett az eredménye a diffoscope ami több, mint 60 féle file formátumot tud összehasonlítani.
Néhány a teljeség igénye nélkül: Android APK files, Android boot images, Microsoft Word .docx, Ogg Vorbis audio files, OpenOffice .odt files, ISO 9660 CD images, PDF documents, ELF binaries, ext2/ext3/ext4/btrfs/fat filesystems (A teljes lista megtalálható a weboldalon.)

Ennyi kitérő után telepítsük fel. Jelenleg Linux Mint 20-at használok, nálam apt a csomagkezelő, de szinte minden másra is elérhető a repokban a csomag. Ubuntuéknál még csak a 137-es verzió elérhető, de a fejlesztés már a 160-asnál tart.
Latest release: 160 (11 Sep 2020)

$ apt show diffoscope
Package: diffoscope
Version: 137
Priority: optional
Section: universe/devel
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 610 kB

Telepítés apt csomag kezelővel:
# apt install diffoscope

Ha frissebb verzióra vágyunk akkor marad a pip (package installer for python), tar vagy a git.
Ezek közül talán a pip-es verziót a legkönnyebb karbantartani.
Egy gyors check és látható, hogy a legutolsó verzió telepedne.

$ pip3 search diffoscope
diffoscope (160) - in-depth comparison of files, archives, and directories

Ennyit a telepítésről. Most nézzük meg, hogy milyen érdekességeket tartogat számunkra a diffoscope.
Két file összehasonlítása:
diffoscope FILE1 FILE2
--progress hasznos ha nagyméretű file-okat hasonlítunk össze
--text OUTPUT-FILE kimenet file-ba írása
--text-color [never, auto, always] színkódok file-ba írásársa is van lehetőség
Komplett könyvtárakat is összehasonlíthatunk segítségével.

Ezen túl reguláris kifejezések segítségével tovább lehet cifrázni az összehasonlításokat.

Kapcsolódó bejegyzés: Cool CLI