Para një javë më parë, Douglas McIlroy, zhvilluesi i tubave UNIX dhe autori i konceptit të "programimit të orientuar nga komponentët", ndau informacion rreth programeve interesante dhe të pazakonta UNIX që nuk kanë gjetur përdorim të gjerë. Publikimi nxitën një diskutim të gjallë në Hacker News. Ne mbledhëm gjërat më interesante dhe do të ishim të lumtur nëse do të bashkoheshit në diskutim.
Foto — — Unsplash
Puna me tekstin
Në sistemet operuese të ngjashme me UNIX ka një grup standard të mjeteve për formatimin e tekstit. Utilita typo lejonte të shihnim dokumentin për gabime shtypi dhe - fjalë që shfaqen në material vetëm një herë. E habitshme, kjo program për të gjetur gabime shtypi fjalorë. Ajo mbështetet vetëm në informacionin në skedar dhe kryen një analizë të frekuencës në tri grupe (sekuencë prej tre simboleve). Në të njëjtën kohë, të gjithë numëruesit e nevojshëm në një array 26x26x26. Sipas fjalëve të Douglas McIlroy, një volum të tillë memorie sapo e kishte për disa numërues një byte. Prandaj, për shkak të ekonomisë, ata u shkruan në format logarithmik.
Sot, typo është zëvendësuar nga programe më moderne dhe të sakta të kontrollit të shkrimit që bazohen në fjalorë. Megjithatë, mjeti është ende në kujtesë — disa vite më parë një entuziast implementoi typo në Go. Repository vazhdon të përditësohet.
Një tjetër mjet për punën me dokumentet nga vitet '80 ishte paketa Writer’s Workbench nga Lorinda Cherry dhe Nina McDonald nga Bell Labs. Ajo përfshinte mjetet për identifikimin e pjesëve të flasës dhe stilit të dokumentit, kërkimin e tautologjive dhe propozitave tepër të komplikuara. Këto vegla janë zhvilluar si mbështetje për studentët, dhe njëkohësisht nga studentët e Universiteteve të Kolorados në SHBA. Por në fillim të viteve '90, Writer’s Workbench u harrua, sepse nuk u përfshi në Version 7 të Unix. Megjithatë, ky mjet vazhdoi rrugën e tij nën imitues — për shembull, për IBM PC.
Në UNIX ka gjithashtu mjete standarde që thjeshtojnë punën me formula. Ka një preprocessori gjuhësor për paraqitjen e shprehjeve matematikore eqn. Ai është i njohur sepse për të paraqitur një formulë, zhvilluesi duhet ta përshkruajë atë me fjalë dhe simbole të thjeshta. Fjalët kyçe lejojnë zhvendosjen e simboleve matematikore vertikalisht dhe horizontalisht, ndryshimin e madhësive dhe parametrave të tjerë. Nëse t’i kalosh utilitës një varg:
sum from { k = 1 } to N { k sup 2 }Do të gjenerohet formula e mëposhtme:

Në vitet 1980-1990, eqn specialistët IT të shkruajnë manuale për software. Por më vonë, ai u zëvendësua nga sistemi LaTeX, i cili edhe Habr. Por eqn është instrumenti i parë i këtij lloji, që mbetet pjesë e OS-ve të ngjashme me UNIX.
Puna me skedarët
Në një bisedë tematike, banorët e Hacker News theksuan disa mjete të rralla të përdorura për punën me skedarët. Njëra prej tyre comm për t’i krahasuar. Ky është një analog i thjeshtë , i dizajnuar për përdorim në skriptet. Ajo u krijua nga Richard Stallman së bashku me David MacKenzie.
Rezultati i programit përbëhet nga tre kolona. Në kolonën e parë janë vlerat unike për skedarin e parë, në të dytën — unike për skedarin e dytë. Kolona e tretë përfshin vlerat e përbashkëta. Për të punuar saktë, dokumentet që krahasohen duhet të jenë të renditur leksikalisht. Prandaj, një nga banorët e platformës duhet të punojë me utilitën në këtë formë:
comm <(sort fileA.txt) <(sort fileB.txt)Comm është e lehtë për t'u përdorur për të kontrolluar shkrimin e fjalëve. Mjafton t’i krahasosh ato me një dokument referencë-fjalor. Duke marrë parasysh nuancat që lidhen me nevojën e renditjes së skedarëve, është , që Stallman dhe MacKenzie shkruan utilitën e tyre pikërisht për këtë rast përdorimi.

Foto — — Unsplash
Gjithashtu një pjesëmarrës në diskutimin në HN mundësitë e operatorit paste, të cilat ishin të paqarta për të. Ai lejon alternimin e burimeve të të dhënave ose ndarjen e një burimi në dy kolona gjatë daljes:
$ paste <( echo -e 'foonbar' ) <( echo -e 'baznqux' )
foo baz
bar qux
$ echo -e 'foonbarnbaznqux' | paste - -
foo bar
baz qux
Një nga përdoruesit , që shpesh për kryerjen e këtyre operacioneve të thjeshta përdoren zgjidhje jo optimizuara: duke filluar nga , dhe duke përfunduar me me dhe .
Cilat mundësi standarde të sistemeve operuese të ngjashme me UNIX ishin një zbulim për ju?
Rreth çfarë shkruajmë në blogun tonë korporativ:
![]()
![]()
![]()
![]()
Burimi: habr.com
