ProHoster > Blogi > antaminen > Keskustelu: standardi UNIX-apuohjelmat, joita harvat ovat käyttäneet ja käyttävät edelleen
Keskustelu: standardi UNIX-apuohjelmat, joita harvat ovat käyttäneet ja käyttävät edelleen
Viikko sitten Douglas McIlroy, UNIX-putkilinjan kehittäjä ja "komponenttisuuntautuneen ohjelmoinnin" käsitteen alullepanija, kerroin mielenkiintoisista ja epätavallisista UNIX-ohjelmista, joita ei käytetä laajalti. Julkaisu käynnisti aktiivisen keskustelun Hacker Newsista. Olemme keränneet mielenkiintoisimmat asiat ja olemme iloisia, jos osallistut keskusteluun.
UNIX-tyyppisissä käyttöjärjestelmissä on vakiotyökalut tekstin muotoiluun. Apuohjelma painovirhe voit tarkistaa asiakirjan kirjoitusvirheiden ja -virheiden varalta hapaksia - sanat, jotka esiintyvät materiaalissa vain kerran. Mielenkiintoista, ohjelma kirjoitusvirheiden etsimiseen ei käytä sanakirjoja. Se luottaa vain tiedoston tietoihin ja suorittaa taajuusanalyysin trigrammeilla (kolmen merkin sarja). Tässä tapauksessa kaikki tarvittavat laskurit pidetään 26x26x26-taulukossa. Douglas McIlroyn mukaan tämä muistimäärä riitti tuskin useille yksitavuisille laskureille. Siksi rahan säästämiseksi ne kirjoitettiin logaritmiseen muotoon.
Nykyään kirjoitusvirheet on korvattu nykyaikaisemmilla ja tarkemmilla sanakirjapohjaisilla oikeinkirjoituksen tarkistilla. Kuitenkin ihmiset muistavat instrumentin edelleen - muutama vuosi sitten harrastaja toimitettu kirjoitusvirheen toteutus Gossa. Tietovarastoa päivitetään edelleen.
Toinen työkalu 80-luvun asiakirjojen käsittelyyn on paketti Kirjoittajan työpöytä Bell Labsin Lorinda Cherryltä ja Nina McDonaldilta. Sen koostumus mukana työkaluja puheen osien ja asiakirjatyylien tunnistamiseen, tautologioiden ja tarpeettoman monimutkaisten lauseiden etsimiseen. Apuohjelmia kehitettiin opiskelijoiden apuvälineiksi, ja joskus he käytetty opiskelijoita Colorado State Universityssä Yhdysvalloissa. Mutta 7-luvun alussa Writer's Workbench unohdettiin, koska se ei sisältynyt Unix-versioon XNUMX. Tämä instrumentti jatkoi kuitenkin polkuaan jäljittelijöihin - mm. kielioppi IBM PC:lle.
UNIX tarjoaa myös vakiotyökaluja, jotka helpottavat kaavojen käyttöä. Matemaattisten lausekkeiden muotoilua varten on kielen esiprosessori eqn. Se on huomattava siitä, että kaavan näyttämiseksi kehittäjän tarvitsee vain kuvata se yksinkertaisilla sanoilla ja symboleilla. Avainsanojen avulla voit siirtää matemaattisia symboleja pysty- ja vaakasuunnassa, muuttaa niiden kokoa ja muita parametreja. Jos välität rivin apuohjelmalle:
sum from { k = 1 } to N { k sup 2 }
Tulos tuottaa seuraavan kaavan:
1980-1990 eqn auttoi IT-asiantuntijat kirjoittavat ohjelmistojen käsikirjoja. Mutta myöhemmin se korvattiin LaTeX-järjestelmällä, joka käyttää jopa Habr. Mutta eqn on luokkansa ensimmäinen työkalu, joka pysyy osana UNIX-tyyppisiä käyttöjärjestelmiä.
Tiedostojen käsittely
Temaattisessa säikeessä Hacker Newsin asukkaat panivat merkille useita harvoin käytettyjä apuohjelmia tiedostojen käsittelyyn. Yksi heistä se olicomm vertailla niitä. Tämä on yksinkertaistettu analogi JM, joka on räätälöity skriptien parissa työskentelemiseen. Hänen kirjoitin Richard Stallman itse yhdessä David MacKenzien kanssa.
Ohjelman tulos koostuu kolmesta sarakkeesta. Ensimmäinen sarake sisältää arvot, jotka ovat ainutlaatuisia ensimmäiselle tiedostolle, toinen sarake sisältää arvot, jotka ovat ainutlaatuisia toiselle tiedostolle. Kolmas sarake sisältää kokonaisarvot. Jotta viestintä toimisi oikein, vertailtavat asiakirjat on lajiteltava sanallisesti. Siksi yksi sivuston asukkaista hän tarjosi työskentele apuohjelman kanssa seuraavassa muodossa:
comm <(sort fileA.txt) <(sort fileB.txt)
Comm on kätevä käyttää sanojen oikeinkirjoituksen tarkistamiseen. Riittää, kun verrataan niitä referenssisanakirjaasiakirjaan. Kun otetaan huomioon tiedostojen lajittelutarpeeseen liittyvät hienovaraisuudet, on olemassa näkymä, että Stallman ja MacKenzie kirjoittivat apuohjelmansa yksinomaan tähän käyttötapaukseen.
Myös keskustelun osallistuja HN:stä hän totesi operaattorin ominaisuudet pasta, jotka eivät olleet hänelle ilmeisiä. Sen avulla voit lomittaa tietovirtoja tai jakaa yhden virran kahdeksi sarakkeeksi tulostettaessa:
Yksi käyttäjistä huomatuksi, että näiden yksinkertaisten toimintojen suorittamiseen ei usein käytetä optimaalisimpia ratkaisuja: alkaen fmt, ex ja loppu mlr с hitunen и rs.
Mitkä UNIX-tyyppisten käyttöjärjestelmien vakioominaisuudet olivat löytö sinulle?