Cat (Unix)

cat je štandarná unixová utilita, ktorá číta sekvenčne súbory a ich obsah vypisuje na štandardný výstup. Názov je odvodený z  (spájať, zreťazovať).

História 
cat bol súčasťou už raných verziách Unixu (napr. vo Version 1). V PDP-7 nahradil predtým existujúcu utilitu pr, ktorá vypisovala obsah jedného súboru na obrazovku.

Verziu cat zahrnutá v GNU coreutils napísal Torbjorn Granlund a Richard Stallman.

Použitie 
Single Unix Specification definuje činnosť cat ako čítanie súborov v poradí, ako boli zadané ako argumenty programu, a zápis ich obsahu, v rovnakom poradí, na štandardný výstup. Špecifikácia určuje podporu jedného parametra u – nebufferovaný výstup (), t. j. každý bajt je hneď po načítaní zapísaný na výstup. Niektoré operačné systémy, napr. tie ktoré používajú GNU Coreutils to robia štandardne a tento parameter ignorujú.

Ak je ako názov súboru zadaný spojovník (-), potom cat číta zo štandardného vstupu. Spojovník sa môže uviesť aj ako položka pri čítaní viacerých súborov. Pokiaľ nie je uvedený žiaden súbor, cat číta iba zo štandardného vstupu.

Syntax príkazu je:
 cat [parametre] [názvy súborov]

Parametre 
Príklady niektorých parametrov cat:

  (GNU: ), number non-blank output lines
  implies  but also display end-of-line characters as  (GNU only:  the same, but without implying )
  (GNU: ), number all output lines
  (GNU: ), squeeze multiple adjacent blank lines
  implies , but also display tabs as  (GNU:  the same, but without implying )
  use unbuffered I/O for stdout. POSIX does not specify the behavior without this option.
  (GNU: ), displays nonprinting characters, except for tabs and the end of line character

V preklade:
  (GNU: ), očísluje neprázdne riadky
  zahŕňa , ale tiež zobrazí konce riadkov znakom  (pri GNU  to isté, ale bez )
  (GNU: ), očísluje všetky riadky
  (GNU: ), zlúči viacero susediacich prázdnych riadkov
  zahŕňa , ale tiež zobrazí znak TAB ako  (pri GNU  to isté, ale bez )
  používa nebufferovaný I/O stdout. Štandard POSIX nešpecifikuje správanie bez tohto parametra.
  (GNU: ), zobrazí netlačiteľné znaky, okrem znaku TAB a konca riadku.

Použitie 
cat môže byť použitý v rúre, kde sa obsah súborov dodá programu, ktorý očakáva (textové alebo binárne) dáta zo štandardného vstupu. cat pri zreťazení neodstraňuje netextové bajty. Zreťazenie má dva hlavné varianty použitia – pre textové súbory a pre formátovo-kompatibilné typy binárnych súborov.

Spájanie textov je limitované na textové súbory, ktoré používajú rovnaké kódovania, napríklad ASCII. cat nie je použiteľné na spájanie textov, ktoré obsahujú Unicode Byte Order Mark alebo ktoré majú rozdielne kódovania.

Pre mnohé (štruktúrované) binárne dáta, výsledná kombinácia súborov môže dávať nesprávne výsledky, napríklad kvôli jedinečným hlavičkám a pätám, ktoré budú v pospájanom výstupe duplikované. Pre niektoré typy mediálnych súborov je však takto spracovaný výsledok korektný, čo umožňuje efektívne pridávať ďalšie sekcie k existujúcemu súboru. Zvlášť niektoré video streamy sa môžu takto spájať bez problémov, napríklad formát MPEG streamov (MPEG-1 a MPEG-2) alebo DV (Digital Video).

Príklady

Referencie

Pozri aj 
 paste
 split – príkaz, rozdeľujúci súbor do viacerých súborov, ktoré je následne možné s cat spojiť naspäť
 zcat
 less

Externé odkazy 

 
 UNIX Style, or cat -v Considered Harmful – Kniha od Rob Pike, ktorá vhodné zobrazuje unixové príkazy pekne na príkladoch.
 cat(1) originálna manuálová stránka First Edition Unixu.
 
 
 
 

Slobodný softvér
Softvér pre Unix