Discuție: utilitare standard UNIX, pe care foarte puțini le-au folosit și le folosesc acum

Acum o săptămână, Douglas McIlroy, dezvoltatorul conductei UNIX și autorul conceptului de „programare orientată pe componente”, a spus a discutat despre programele UNIX interesante și neobișnuite, care nu au avut o utilizare pe scară largă. Publicația a generat o discuție activă pe Hacker News. Am adunat cele mai interesante și ne-ar face plăcere dacă v-ați alătura discuției.

Discuție: utilitare standard UNIX, pe care foarte puțini le-au folosit și le folosesc acum
Fotografie — Virginia Johnson — Unsplash

Lucrul cu textul

În sistemele de operare asemănătoare UNIX există un set standard de instrumente pentru formatarea textului. Utilitarul typo permitea vizualizarea documentelor pentru erori de tipar și hapax legomena — cuvinte care apar doar o dată în material. Ceea ce este interesant este că pentru a găsi erori de tipar, programul nu folosește se bazează pe dicționare. Se bazează exclusiv pe informațiile din fișier și efectuează o analiză frecvențială pe trigramuri (secvențe de trei caractere). În acest proces, toți contorii necesari sunt stocați într-un tablou de 26x26x26. Conform spuselor lui Douglas McIlroy, această cantitate de memorie era suficientă doar pentru câțiva contori de un byte. Prin urmare, pentru a economisi, aceștia erau scriși în formă logaritmică.

Astăzi, typo a fost înlocuit de programe de verificare a ortografiei mai moderne și precise, bazate pe dicționare. Totuși, instrumentul este încă amintit — acum câțiva ani, un entuziast a prezentat a realizat o implementare typo în Go. Repozitoriul este încă actualizat.

Un alt instrument pentru lucrul cu documente din anii '80 este pachetul Writer’s Workbench de Lorinda Cherry și Nina McDonald de la Bell Labs. Acesta conținea instrumente pentru identificarea părților de vorbire și a stilului documentului, căutarea tautologiilor și a frazelor excesiv de complicate. Utilitarele au fost dezvoltate ca suport pentru studenți, iar o perioadă au fost utilizate de studenții de la Universitatea de Stat din Colorado, SUA. Însă, la începutul anilor '90, Writer’s Workbench a fost uitat, deoarece nu a fost inclus în Version 7 Unix. Totuși, acest instrument a continuat să inspirе imitatori — de exemplu, s-a utilizat Grammatik pentru IBM PC. În UNIX există, de asemenea, instrumente standard care simplifică munca cu formule. Există un preprocesor de limbaj pentru formatarea expresiilor matematice

. Acesta se remarcă prin faptul că pentru a afișa o formulă, dezvoltatorul trebuie doar să o descrie cu cuvinte simple și simboluri. Cuvintele cheie permit mutarea semnelor matematice pe verticală și orizontală, modificarea dimensiunii și altor parametrii. Dacă se transmite utilitarului un șir: eqn. Он примечателен тем, что для отображения формулы разработчику достаточно описать её простыми словами и символами. Ключевые слова позволяют смещать математические знаки по вертикали и горизонтали, менять их размеры и другие параметры. Если передать утилите строку:

suma de { k = 1 } până la N { k sup 2 }

Următoarea formulă va fi generată:

Discuție: utilitare standard UNIX, pe care foarte puțini le-au folosit și le folosesc acum

În anii 1980-1990 eqn a ajutat specialiștii IT să scrie manuale pentru software. Însă mai târziu a fost înlocuit de sistemul LaTeX, pe care folosește inclusiv Habr. Dar eqn este primul instrument de acest gen, care rămâne parte a sistemelor de operare de tip UNIX.

Lucrul cu fișierele

Într-un thread tematic, rezidenții Hacker News au menționat câteva utilitare rar folosite pentru gestionarea fișierelor. Una dintre acestea existau comm pentru compararea lor. Acesta este un echivalent simplificat diff, destinat utilizării în scripturi. A fost Jurnalistul Bloomberg Jason Schreier însuși Richard Stallman împreună cu David MacKenzie.

Ieșirea programului constă din trei coloane. În prima coloană se află valorile unice pentru primul fișier, în a doua — cele unice pentru al doilea fișier. A treia coloană include valorile comune. Pentru a funcționa corect, comm documentele comparate trebuie să fie sortate lexicografic. Prin urmare, unul dintre rezidenții platformei a propus să lucreze cu utilitarul în următoarea variantă:

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

Comm este convenabil de utilizat pentru a verifica scrierea cuvintelor. Este suficient să le compari cu un document-standard de tip dicționar. Având în vedere detaliile legate de necesitatea de a sorta fișierele, există o părere, ceea ce Stallman și MacKenzie au scris utilitarul lor exclusiv pentru acest caz de utilizare.

Discuție: utilitare standard UNIX, pe care foarte puțini le-au folosit și le folosesc acum
Fotografie — Marnix Hogendoorn — Unsplash

De asemenea, participant la discuția de pe HN unul dintre voluntarii care susțin localizarea în limba rusă, varianta eronată este mai răspândită și familiară pentru majoritatea utilizatorilor (de exemplu, în interfața macOS, Apple folosește „Скопировать”, iar Microsoft în Windows, utilizatorii căruia sunt mult mai numeroși decât utilizatorii macOS, folosește „Копировать”). În localizările ucrainene și belaruse se folosește de asemenea „Копировать”. În plus, limba nu este statică, ea evoluează constant și se schimbă, iar regulile ei se adaptează majorității vorbitorilor. posibilitățile operatorului paste, care erau neobișnuite pentru el. Acesta permite intercalarea fluxurilor de date sau împărțirea unui flux într-o coloană în timpul ieșirii:

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

Un utilizator am observat, ceea ce adesea pentru a îndeplini aceste operații simple se folosesc soluții nu cele mai optime: începând cu fmt, ex și terminând cu mlr de jot și rs.

Ce posibilități standard ale sistemelor de operare de tip UNIX au fost o descoperire pentru tine?

Despre ce scriem în blogul nostru corporativ:

Discuție: utilitare standard UNIX, pe care foarte puțini le-au folosit și le folosesc acum Cum s-a dezvoltat sistemul numelui de domeniu: era ARPANET
Discuție: utilitare standard UNIX, pe care foarte puțini le-au folosit și le folosesc acum Istoria sistemului de nume de domenii: primele servere DNS
Discuție: utilitare standard UNIX, pe care foarte puțini le-au folosit și le folosesc acum Istoria DNS: când numele de domeniu au devenit plătite
Discuție: utilitare standard UNIX, pe care foarte puțini le-au folosit și le folosesc acum Istoria sistemului numelui de domeniu: 'războaiele' protocoalelor

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster