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.https://linux.die.net/man/1/cat

 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ú.GNU Coreutils. „GNU Coreutils manual“, GNU, stav ku 1. marcu 2017.

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:OpenBSD manuálová stránka a verzie GNU Core Utiltites

  (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 
 Príkaz  Vysvetlenie cat súbor1.txt   Zobrazí obsah súboru cat súbor1.txt súbor2.txt  Spojí dva súbory a zobrazí výsledok v termináli cat súbor1.txt súbor2.txt > novýkombinovanýsúbor.txt  Spojí dva súbory a zapíše ich do nového súboru cat > novýsúbor.txt  Vytvorí nový súbor nazvaný novýsúbor.txt. Vyžaduje zadať vstup a + ukončí zadávanie. Text bude uložený v súbore novýsúbor.txt. cat -n súbor1.txt súbor2.txt > novýčislovanýsúbor.txt  Niektoré implementácie cat (s parametrom -n) umožňujú aj vypísať čísla riadkov. cat súbor1.txt > súbor2.txt  Skopíruje obsah súboru súbor1.txt do súboru súbor2.txt cat súbor1.txt >> súbor2.txt  Pridá obsah súboru súbor1.txt na koniec súboru súbor2.txt cat súbor1.txt súbor2.txt súbor3.txt | sort > test4  Zlúči súbory, zoradí všetky riadky a výstup zapíše do nového vytvoreného súboru cat súbor1.txt súbor2.txt | less  Spustí program „less“ so vstupom zo zlúčených súborov súbor1 a súbor2 command | cat  Zruší špeciálne správanie programu „command“ (napr. interaktívne stránkovanie dlhšieho textu) aktívne pri priamom výstupe na terminál

 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