Diskuze: standardní unixové utility, které málokdo používal a stále používá

Před týdnem Douglas McIlroy, vývojář UNIX pipeline a původce konceptu „komponentově orientovaného programování“, řekl jsem o zajímavých a neobvyklých UNIXových programech, které se příliš nepoužívají. Publikace zahájila aktivní diskusi na Hacker News. Shromáždili jsme to nejzajímavější a budeme rádi, když se zapojíte do diskuze.

Diskuze: standardní unixové utility, které málokdo používal a stále používá
--Ото - Virginie Johnson — Odstříknout

Práce s textem

Operační systémy podobné UNIXu mají standardní sadu nástrojů pro formátování textu. Utility typo vám umožnilo zkontrolovat dokument, zda neobsahuje překlepy a hapaxes - slova, která se v materiálu vyskytují pouze jednou. Zajímavý je program na hledání překlepů nepoužívá slovníky. Spoléhá se pouze na informace v souboru a provádí frekvenční analýzu pomocí trigramů (sekvence tří znaků). V tomto případě všechny potřebné čítače jsou drženi v poli 26x26x26. Podle Douglase McIlroye toto množství paměti sotva stačilo na několik jednobajtových čítačů. Proto, aby se ušetřilo, byly psány v logaritmické formě.

Dnes byly překlepy nahrazeny modernějšími a přesnějšími kontrolami pravopisu založenými na slovníku. Lidé si však na nástroj stále pamatují - před pár lety nadšence představen implementace překlepu v Go. Úložiště se stále aktualizuje.

Dalším nástrojem pro práci s dokumenty z 80. let je paket Spisovatelský pracovní stůl od Lorindy Cherry a Niny McDonald z Bell Labs. Jeho složení zahrnuta nástroje pro identifikaci slovních druhů a stylu dokumentu, hledání tautologií a zbytečně složitých vět. Pomůcky byly vyvíjeny jako pomůcky pro studenty a svého času i oni použité studenti na Colorado State University v USA. Ale začátkem devadesátých let byl Writer's Workbench zapomenut, protože nebyl zahrnut ve verzi 7 Unix. Tento nástroj však pokračoval v cestě k napodobitelům – např. gramatika pro IBM PC.

UNIX také poskytuje standardní nástroje pro usnadnění práce se vzorci. Pro formátování matematických výrazů existuje jazykový preprocesor ekv. Je pozoruhodné tím, že k zobrazení vzorce jej vývojář potřebuje pouze popsat jednoduchými slovy a symboly. Klíčová slova umožňují posouvat matematické symboly vertikálně i horizontálně, měnit jejich velikosti a další parametry. Pokud předáte řádek obslužnému programu:

sum from { k = 1 } to N { k sup 2 }

Výstup vygeneruje následující vzorec:

Diskuze: standardní unixové utility, které málokdo používal a stále používá

V 1980.–1990. letech XNUMX. století ekv pomohl IT specialisté píší manuály pro software. Později jej ale nahradil systém LaTeX, který použití dokonce Habr. Ale eqn je prvním nástrojem své třídy, který zůstává součástí operačních systémů podobných UNIXu.

Práce se soubory

V tematickém vláknu obyvatelé Hacker News zaznamenali několik zřídka používaných nástrojů pro práci se soubory. Jeden z nich bylo comm abych je porovnal. Toto je zjednodušený analog diff, přizpůsobené pro práci ve skriptech. Jeho napsal Richard Stallman sám spolu s Davidem MacKenziem.

Výstup programu se skládá ze tří sloupců. První sloupec obsahuje hodnoty jedinečné pro první soubor, druhý sloupec obsahuje hodnoty jedinečné pro druhý soubor. Třetí sloupec obsahuje celkové hodnoty. Aby komunikace fungovala správně, musí být porovnávané dokumenty lexikálně seřazeny. Proto jeden z obyvatel lokality navrhl pracovat s nástrojem v následující podobě:

comm <(sort fileA.txt) <(sort fileB.txt)

Komunikace je vhodná pro kontrolu pravopisu slov. Stačí je porovnat s dokumentem referenčního slovníku. S ohledem na jemnosti spojené s potřebou třídit soubory, existuje názor, že Stallman a MacKenzie napsali svůj nástroj výhradně pro tento případ použití.

Diskuze: standardní unixové utility, které málokdo používal a stále používá
--Ото - Marnix Hogendoorn — Odstříknout

Také účastník diskuze na HN poznamenal schopnosti operátora pasta, které mu nebyly zřejmé. Umožňuje vám prokládat datové toky nebo rozdělit jeden tok do dvou sloupců při výstupu:

$ paste <( echo -e 'foonbar' ) <( echo -e 'baznqux' )
foo     baz
bar     qux
$ echo -e 'foonbarnbaznqux' | paste - -
foo     bar
baz     qux

Jeden z uživatelů všiml, že k provádění těchto jednoduchých operací se často používají ne nejoptimálnější řešení: počínaje fmt, ex a končí mlr с drobek и rs.

Jaké standardní funkce operačních systémů podobných UNIXu pro vás byly objevem?

O čem píšeme na našem firemním blogu:

Diskuze: standardní unixové utility, které málokdo používal a stále používá Jak se vyvíjel systém doménových jmen: éra ARPANETu
Diskuze: standardní unixové utility, které málokdo používal a stále používá Historie systému doménových jmen: První servery DNS
Diskuze: standardní unixové utility, které málokdo používal a stále používá Historie DNS: kdy byla doménová jména placena
Diskuze: standardní unixové utility, které málokdo používal a stále používá Historie systému doménových jmen: Protokolové války

Zdroj: www.habr.com

Přidat komentář