Pred týždňom Douglas McIlroy, vývojár UNIX pipeline a autor konceptu „komponentne orientovaného programovania“, o zaujímavých a neobvyklých UNIX programoch, ktoré nenabraly široké uplatnenie. Publikácia spustila aktívnu diskusiu na Hacker News. Zhromaždili sme to najzaujímavejšie a budeme radi, ak sa pripojíte k diskusii.
Foto — — Unsplash
Práca s textom
V UNIX-like operačných systémoch je štandardná sada nástrojov na formátovanie textu. Utilita typo umožňovala prehliadať dokument na prítomnosť preklepov a — slová, ktoré sa v materiáli objavia len raz. Zaujímavé je, že na vyhľadávanie preklepov program slovníky. Opiera sa len o informácie v súbore a vykonáva frekvenčnú analýzu na trojgramoch (počet z troch znakov). Pri tom všetky potrebné počítadlá v poli 26x26x26. Podľa slov Douglasa McIlroya taký objem pamäte sotva stačil na niekoľko jednobitových počítadiel. Preto ich na úsporu písali v logaritmickej forme.
Dnes typo nahradili modernejšie a presnejšie programy na kontrolu pravopisu založené na slovníkoch. Avšak nástroj sa stále pamätá — pred niekoľkými rokmi nadšenec realizoval typo v Go. Repozitár sa aktualizuje dodnes.
Ďalším nástrojom na prácu s dokumentmi z 80-tych rokov je balík Writer’s Workbench od Lorindy Cherry a Niny Macdonald z Bell Labs. Jeho súčasťou nástroje na určovanie詞,разды, označenie štýlu dokumentu, vyhľadávanie tautológií a zbytočne zložitých viet. Nástroje sa vyvíjali ako podpora pre študentov a jedno časové obdobie ich študenti Štátnej univerzity Colorada v USA. Ale na začiatku deväťdesiatych rokov na Writer’s Workbench zabudli, pretože nebol zahrnutý do Version 7 Unix. Aj keď tento nástroj pokračoval, nasledovali ho napodobitelia — napríklad pre IBM PC.
V UNIX sú tiež štandardné prostriedky, ktoré zjednodušujú prácu s formulkami. Existuje preprocesor jazyka na formátovanie matematických výrazov. eqnVyniká tým, že na zobrazenie vzorcov stačí, aby ich vývojár opísal jednoduchými slovami a symbolmi. Kľúčové slová umožňujú posúvať matematické znaky vertikálne a horizontálne, meniť ich veľkosti a ďalšie parametre. Ak sa nástroju predloží reťazec:
súčet od { k = 1 } do N { k sup 2 }Na výstupe bude vygenerovaný nasledujúci vzorec:

V roku 1980 – 1990 eqn IT špecialistom písať manuály k softvéru. Neskôr ho však nahradil systém LaTeX, ktorý aj Habr. Ale eqn je prvý nástroj podobného druhu, ktorý zostáva súčasťou UNIX-podobných OS.
Práca so súbormi
V tematickej diskusii si obyvatelia Hacker News všimli niekoľko málo používaných utilít na prácu s súbormi. Jednou z nich comm na ich porovnanie. Je to zjednodušený ekvivalent , zameraný na prácu v skriptoch. Jeho sám Richard Stallman (Richard Stallman) spolu s Davidom MacKenziem (David MacKenzie).
Výstup programu sa skladá z troch stĺpcov. Do prvého stĺpca sa dostanú hodnoty, ktoré sú jedinečné pre prvý súbor, do druhého — jedinečné pre druhý súbor. Tretí stĺpec obsahuje spoločné hodnoty. Pre správne fungovanie komandy comm musia byť porovnávané dokumenty lexikálne usporiadané. Preto jeden z návštevníkov stránky pracovať s utilitou v nasledujúcej podobe:
comm <(sort fileA.txt) <(sort fileB.txt)Comm je vhodné použiť na kontrolu písania slov. Stačí ich porovnávať s referenčným dokumentom — slovníkom. Vzhľadom na detaily spojené s nevyhnutnosťou triedenia súborov existuje , že Stallman a MacKenzie napísali svoju utilitu výlučne pre tento prípad použitia.

Foto — — Unsplash
Taktiež účastník diskusie na HN možnosti operátora paste, ktoré boli pre neho nejasné. Umožňuje striedať toky dát alebo rozdeliť jeden tok na dva stĺpce pri výstupe:
$ paste <( echo -e 'foonbar' ) <( echo -e 'baznqux' )
foo baz
bar qux
$ echo -e 'foonbarnbaznqux' | paste - -
foo bar
baz qux
Jeden z používateľov , že často na vykonávanie týchto jednoduchých operácií používajú nie najoptimálnejšie riešenia: počnúc , až po s a .
Aké štandardné možnosti UNIX-podobných operačných systémov sa stali objavom pre vás?
O čom píšeme v našom firemnom blogu:
![]()
![]()
![]()
![]()
Zdroj: habr.com
