Színes cat parancs: bat!

Van pár nagyon régi, még az Unix, vagy a Linux kezdetekkor leprogramozott alap program, amit mindenki ismer. Ezek nagyon jók, de az akkori kornak megfelelő igényeknek készültek, már sok esetben a kinézetük – nem a tudásuk! – elavult. Ilyen volt az ls, amit bár lehet színezni, de talán a bemutatott exa-t jobban. Ma is egy ősi, de máig kitűnő linuxos alapprogram újabb változatát mutatom be. Mindenki ismeri a cat programot, sokat használjuk terminálban, és sok scriptben jelen van. Szépen kilistázza a megadott fájlt tartalmát és pár egyéb funkcióval is rendelkezik. Szuper! Mi az ami miatt előkerült egy másik? Nem színes! Így leleményes programozó elkészítette a bat-ot, a fejlettebb cat-ot.

Mi tud a bat parancs Linuxon?

Pont azt, amit a cat, de két fontos eltérés van. A bat kimenete színes, azaz kiemeli, ha van rá mód a szintaxist, syntax highlighting képes, ha így jobban ismerős. Gondolom senkit nem kell győzködni az előnyéről:

Bat színes kimenete

Szebb, átláthatóbb és kényelmesebben olvasható. Illetve a sorok számozása is nagyon jó gondolat, ha hivatkozni kell egy sorban található szövegre, akkor azt így gyorsan megteheted. Bár nem tűnik egyik funkció sem csodafegyvernek, de ha kipróbálod, esetleg pár napig használod, már a cat “színtelensége” nagyon kényelmet lesz! Linuxon elég sok esetben kell (vagy érdemes, mert gyorsabb) egy config fájt szerkeszteni, vagy csak belenézni. Ha színes, akkor gyorsabban rááll a szem a keresésre és a z értelmezésre.

A másik kényelmi funkciója a laptörés, azaz nem kell a more vagy egyéb programot használni, ha egy képernyőnél hosszabb a szöveg. Automatikusan tördeli és lehet lapozni… Szuper!

A fenti két lehetőség már indokolja a kipróbálását, és a használatát. A programozók nagyon jól ráérezek, hogy az újításnak van egy nagy veszélye is. A cat-ot sok linuxos script használja, és nincs nagy kedve az átlagfelhasználónak egy funkcióra két programot használni. Amikor bat egy nem-interaktív terminált észlel (azaz amikor egy másik folyamatba vagy egy fájlba kapcsolódik), bat teljesen cat-ként viselkedik, és nem lesz probléma az eltérő a használatakor.

A bat telepítése egyszerű, a legtöbb Linux disztribúciónál a tárolókból felmegy. A github oldalon leírtakat követve nem lesz nehéz felrakni.
Ha már a telepítésnél vagy, akkor a bat-extras csomagot is rakd fel, mert ha már a cat-ot színesítjük, akkor pár egyéb hagyományos linuxos, terminálos programot is úgy szeretnénk használni. Telepítéskor figyelj nagyon az elvárt egyéb programokra! Arch alatt az AUR-ban van fenn, de nem rakja fel a batgrep-hez a ripgrep-et automatikusan. Így mindenképp olvasd el azt az oldalt: https://github.com/eth-p/bat-extras.

A használatról és a beállításról nagyon jó leírás van a https://github.com/sharkdp/bat oldalon, ne sajnáld az idődet legalább egyszer átfutni! Nekem nem célom egy kézikönyvet írni egyik bemutatott programról sem, csak a figyelmedet hívom fel a lehetőségre.

A magyarlinux.hu-n jelent meg az eredeti cikk.