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.

Keskustelu: standardi UNIX-apuohjelmat, joita harvat ovat käyttäneet ja käyttävät edelleen
Фото - Virginia Johnson - roiskeet pois

Työ tekstin kanssa

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:

Keskustelu: standardi UNIX-apuohjelmat, joita harvat ovat käyttäneet ja käyttävät edelleen

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 oli comm 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.

Keskustelu: standardi UNIX-apuohjelmat, joita harvat ovat käyttäneet ja käyttävät edelleen
Фото - Marnix Hogendoorn - roiskeet pois

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:

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

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?

Mistä kirjoitamme yritysblogissamme:

Keskustelu: standardi UNIX-apuohjelmat, joita harvat ovat käyttäneet ja käyttävät edelleen Kuinka verkkotunnusjärjestelmä kehittyi: ARPANET-aikakausi
Keskustelu: standardi UNIX-apuohjelmat, joita harvat ovat käyttäneet ja käyttävät edelleen Verkkotunnusjärjestelmän historia: Ensimmäiset DNS-palvelimet
Keskustelu: standardi UNIX-apuohjelmat, joita harvat ovat käyttäneet ja käyttävät edelleen DNS-historia: kun verkkotunnuksista tuli maksettu
Keskustelu: standardi UNIX-apuohjelmat, joita harvat ovat käyttäneet ja käyttävät edelleen Verkkotunnusjärjestelmän historia: Protocol Wars

Lähde: will.com

Lisää kommentti