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.
* 
* 
* 
* 

Kategória:Slobodný softvér
Kategória:Unixové príkazy