Arutelu: standardsed UNIX-i utiliidid, mida vähesed on kasutanud ja kasutavad siiani

Nädal tagasi Douglas McIlroy, UNIX-i konveieri arendaja ja kontseptsiooni "komponendile orienteeritud programmeerimine" algataja, ma ütlesin huvitavate ja ebatavaliste UNIX-programmide kohta, mida laialdaselt ei kasutata. Väljaanne käivitas aktiivse arutelu Hacker Newsi teemal. Oleme kokku kogunud kõige huvitavamad asjad ja meil on hea meel, kui liitute aruteluga.

Arutelu: standardsed UNIX-i utiliidid, mida vähesed on kasutanud ja kasutavad siiani
Фото - Virginia Johnson — Vabastage pritsmed

Töö tekstiga

UNIX-i sarnastel operatsioonisüsteemidel on teksti vormindamiseks standardne tööriistakomplekt. Kasulikkus viga võimaldas teil dokumendi üle vaadata kirjavigade ja hapaksid - sõnad, mis esinevad materjalis ainult üks kord. Huvitaval kombel programm kirjavigade otsimiseks ei kasuta sõnaraamatud. See tugineb ainult failis olevale teabele ja viib läbi sagedusanalüüsi trigrammide (kolme märgi jada) abil. Sel juhul kõik vajalikud loendurid hoitakse massiivis 26x26x26. Douglas McIlroy sõnul piisas sellest mälumahust vaevu mitme ühebaidise loenduri jaoks. Seetõttu kirjutati need raha säästmiseks logaritmilises vormis.

Tänapäeval on kirjavead asendunud kaasaegsemate ja täpsemate sõnastikupõhiste õigekirjakontrollidega. Pilli kohta aga mäletatakse siiani – mõni aasta tagasi entusiast tutvustatud kirjavea rakendamine Go-s. Hoidlat värskendatakse endiselt.

Teine tööriist 80ndate dokumentidega töötamiseks on pakett Kirjaniku töölaud Lorinda Cherrylt ja Nina McDonaldilt Bell Labsist. Selle koostis kaasatud vahendid kõneosade ja dokumendistiili tuvastamiseks, tautoloogiate ja tarbetult keeruliste lausete otsimiseks. Utiliidid töötati välja õpilaste abivahenditena ja omal ajal nad kasutatud USA Colorado osariigi ülikooli üliõpilased. Kuid üheksakümnendate aastate alguseks oli Writer's Workbench unustatud, kuna see ei sisaldunud Unixi versioonis 7. See pill jätkas aga oma teed jäljendajateni – näiteks grammatika IBM PC jaoks.

UNIX pakub ka standardtööriistu, mis muudavad valemitega töötamise lihtsamaks. Matemaatiliste avaldiste vormindamiseks on olemas keele eelprotsessor eqn. See on tähelepanuväärne selle poolest, et valemi kuvamiseks peab arendaja seda kirjeldama vaid lihtsate sõnade ja sümbolitega. Märksõnad võimaldavad matemaatilisi sümboleid vertikaalselt ja horisontaalselt nihutada, muuta nende suurust ja muid parameetreid. Kui edastate rea utiliidile:

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

Väljund genereerib järgmise valemi:

Arutelu: standardsed UNIX-i utiliidid, mida vähesed on kasutanud ja kasutavad siiani

1980.–1990. aastatel eqn aitas IT-spetsialistid kirjutavad tarkvarale käsiraamatuid. Kuid hiljem asendati see LaTeX süsteemiga, mis kasutab isegi Habr. Kuid eqn on esimene oma klassi tööriist, mis jääb UNIX-i sarnaste operatsioonisüsteemide osaks.

Töötamine failidega

Temaatilises lõimes märkisid Hacker Newsi elanikud failidega töötamiseks mitu harva kasutatavat utiliiti. Üks nendest oli komm et neid võrrelda. See on lihtsustatud analoog diferentseerima, mis on kohandatud skriptidega töötamiseks. Tema kirjutasin Richard Stallman ise koos David MacKenziega.

Programmi väljund koosneb kolmest veerust. Esimene veerg sisaldab esimese faili unikaalseid väärtusi, teine ​​veerg sisaldab teise faili ainulaadseid väärtusi. Kolmas veerg sisaldab koguväärtusi. Kommunikatsiooni korrektseks toimimiseks peavad võrreldavad dokumendid olema leksikaalselt sorteeritud. Seetõttu üks saidi elanikest ettepanek töötage utiliidiga järgmisel kujul:

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

Comm on mugav kasutada sõnade õigekirja kontrollimiseks. Piisab nende võrdlemisest viitesõnastiku dokumendiga. Arvestades failide sorteerimise vajadusega seotud nüansse, on see olemas arvamust, et Stallman ja MacKenzie kirjutasid oma utiliidi ainult selle kasutusjuhtumi jaoks.

Arutelu: standardsed UNIX-i utiliidid, mida vähesed on kasutanud ja kasutavad siiani
Фото - Marnix Hogendoorn — Vabastage pritsmed

Samuti HN-i arutelus osaleja märkis operaatori võimalused pasta, mis polnud talle ilmselged. See võimaldab teil väljastamisel andmevooge vahele jätta või jagada ühe voo kaheks veergu:

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

Üks kasutajatest märganud, et sageli ei kasutata nende lihtsate toimingute tegemiseks kõige optimaalsemaid lahendusi: alustades fmt, ex ja lõpp mlr с kirjutab и rs.

Millised UNIX-laadsete operatsioonisüsteemide standardfunktsioonid olid teie jaoks avastused?

Millest me oma ettevõtte ajaveebis kirjutame:

Arutelu: standardsed UNIX-i utiliidid, mida vähesed on kasutanud ja kasutavad siiani Kuidas domeeninimesüsteem arenes: ARPANETi ajastu
Arutelu: standardsed UNIX-i utiliidid, mida vähesed on kasutanud ja kasutavad siiani Domeeninimesüsteemi ajalugu: esimesed DNS-serverid
Arutelu: standardsed UNIX-i utiliidid, mida vähesed on kasutanud ja kasutavad siiani DNS-i ajalugu: millal said domeeninimed tasuliseks
Arutelu: standardsed UNIX-i utiliidid, mida vähesed on kasutanud ja kasutavad siiani Domeeninimesüsteemi ajalugu: protokollisõjad

Allikas: www.habr.com

Lisa kommentaar