Diskutim: utilitetet standarde UNIX që pak njerëz i kanë përdorur dhe i përdorin sot

Para një javë më parë, Douglas McIlroy, zhvilluesi i tubave UNIX dhe autori i konceptit të "programimit të orientuar nga komponentët", tregoi 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.

Diskutim: utilitetet standarde UNIX që pak njerëz i kanë përdorur dhe i përdorin sot
Foto — Virginia Johnson — 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 hapaks - fjalë që shfaqen në material vetëm një herë. E habitshme, kjo program për të gjetur gabime shtypi nuk përdor 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 ruhen 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 prezentoi 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 mjete për identifikimin e pjesëve të foljes dhe stilit të dokumentit, kërkimin e tautologjive dhe propozimeve tepër të komplikuara. Utilitat u zhvilluan si ndihmë për studentët dhe një kohë të gjatë ato 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 u përdorën 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, Grammatik 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:

Diskutim: utilitetet standarde UNIX që pak njerëz i kanë përdorur dhe i përdorin sot

Në vitet 1980-1990, eqn ndihmoi specialistët IT të shkruajnë manuale për software. Por më vonë, ai u zëvendësua nga sistemi LaTeX, i cili përdor 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 ishte comm për t’i krahasuar. Ky është një analog i thjeshtë diff, i dizajnuar për përdorim në skriptet. Ajo shkrova 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 propozoi 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ë opinion, që Stallman dhe MacKenzie shkruan utilitën e tyre pikërisht për këtë rast përdorimi.

Diskutim: utilitetet standarde UNIX që pak njerëz i kanë përdorur dhe i përdorin sot
Foto — Marnix Hogendoorn — Unsplash

Gjithashtu një pjesëmarrës në diskutimin në HN vuri në dukje 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 vërejti, që shpesh për kryerjen e këtyre operacioneve të thjeshta përdoren zgjidhje jo optimizuara: duke filluar nga fmt, ex dhe duke përfunduar me mlr me jot dhe rs.

Cilat mundësi standarde të sistemeve operuese të ngjashme me UNIX ishin një zbulim për ju?

Rreth çfarë shkruajmë në blogun tonë korporativ:

Diskutim: utilitetet standarde UNIX që pak njerëz i kanë përdorur dhe i përdorin sot Si u zhvillua sistemi i emrave të domain: epoka ARPANET
Diskutim: utilitetet standarde UNIX që pak njerëz i kanë përdorur dhe i përdorin sot Historia e sistemit të emrave të domain-eve: serverët e parë DNS
Diskutim: utilitetet standarde UNIX që pak njerëz i kanë përdorur dhe i përdorin sot Historia e DNS: kur emrat e domainit u bënë me pagesë
Diskutim: utilitetet standarde UNIX që pak njerëz i kanë përdorur dhe i përdorin sot Historia e sistemit të emrave të domainit: "luftërat" e protokolleve

Burimi: habr.com

Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS 🔥 Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS | ProHoster