Diskussion: standard UNIX-værktøjer, som få mennesker har brugt og stadig bruger

For en uge siden, Douglas McIlroy, udvikler af UNIX-pipeline og ophavsmand til konceptet "komponentorienteret programmering", jeg fortalte om interessante og usædvanlige UNIX-programmer, der ikke er meget udbredte. Publikationen lancerede en aktiv diskussion om Hacker News. Vi har samlet de mest interessante ting og vil blive glade, hvis du deltager i diskussionen.

Diskussion: standard UNIX-værktøjer, som få mennesker har brugt og stadig bruger
Ф billeder - Virginia Johnson — Unsplash

Arbejd med tekst

UNIX-lignende operativsystemer har et standardsæt af værktøjer til formatering af tekst. Utility typo tilladt dig at gennemgå dokumentet for stavefejl og hapaxes - ord, der kun optræder i materialet én gang. Interessant nok programmet til at finde stavefejl ikke bruger ordbøger. Den er kun afhængig af oplysningerne i filen og udfører frekvensanalyse ved hjælp af trigrammer (en sekvens på tre tegn). I dette tilfælde, alle de nødvendige tællere holdes i et 26x26x26-array. Ifølge Douglas McIlroy var denne mængde hukommelse knap nok til flere enkeltbyte-tællere. Derfor blev de skrevet i logaritmisk form for at spare penge.

I dag er stavefejl blevet erstattet af mere moderne og nøjagtige ordbogsbaserede stavekontrol. Men folk husker stadig om instrumentet - for et par år siden en entusiast indsendt implementering af tastefejl i Go. Depotet bliver stadig opdateret.

Et andet værktøj til at arbejde med dokumenter fra 80'erne er pakken Writer's Workbench fra Lorinda Cherry og Nina McDonald fra Bell Labs. Dens sammensætning inkluderet værktøjer til at identificere dele af tale og dokumentstil, søge efter tautologier og unødvendigt komplekse sætninger. Hjælpeprogrammer blev udviklet som hjælpemidler til studerende, og på et tidspunkt de Brugt studerende ved Colorado State University i USA. Men i begyndelsen af ​​halvfemserne blev Writer's Workbench glemt, fordi det ikke var inkluderet i Version 7 Unix. Dette instrument fortsatte dog sin vej til efterlignere - f.eks. grammatik til IBM PC.

UNIX giver også standardværktøjer til at gøre arbejdet med formler lettere. Der er en sprogforprocessor til formatering af matematiske udtryk lign. Det er bemærkelsesværdigt for det faktum, at for at vise en formel behøver udvikleren kun at beskrive den med enkle ord og symboler. Nøgleord giver dig mulighed for at flytte matematiske symboler lodret og vandret, ændre deres størrelser og andre parametre. Hvis du sender linjen til værktøjet:

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

Outputtet vil generere følgende formel:

Diskussion: standard UNIX-værktøjer, som få mennesker har brugt og stadig bruger

I 1980'erne-1990'erne eqn hjalp IT-specialister skriver manualer til software. Men senere blev det erstattet af LaTeX-systemet, som bruger selv Habr. Men eqn er det første værktøj i sin klasse, der forbliver en del af UNIX-lignende operativsystemer.

Arbejde med filer

I en tematisk tråd bemærkede Hacker News beboere flere sjældent brugte værktøjer til at arbejde med filer. En af dem Det var comm at sammenligne dem. Dette er en forenklet analog diff, skræddersyet til at arbejde i manuskripter. Hans jeg skrev Richard Stallman selv sammen med David MacKenzie.

Programmets output består af tre kolonner. Den første kolonne indeholder værdier, der er unikke for den første fil, den anden kolonne indeholder værdier, der er unikke for den anden fil. Den tredje kolonne inkluderer de samlede værdier. For at comm fungerer korrekt, skal de sammenlignede dokumenter være leksikalsk sorteret. Derfor er en af ​​stedets beboere Han tilbød arbejde med hjælpeprogrammet i følgende form:

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

Comm er praktisk at bruge til at kontrollere stavningen af ​​ord. Det er nok at sammenligne dem med et referenceordbogsdokument. I betragtning af de finesser, der er forbundet med behovet for at sortere filer, er der udsigt, at Stallman og MacKenzie skrev deres hjælpeprogram udelukkende til denne brugssag.

Diskussion: standard UNIX-værktøjer, som få mennesker har brugt og stadig bruger
Ф billeder - Marnix Hogendoorn — Unsplash

Også diskussionsdeltager på HN Han bemærkede operatørens muligheder pasta, som ikke var indlysende for ham. Det giver dig mulighed for at sammenflette datastrømme eller opdele en strøm i to kolonner, når du outputter:

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

En af brugerne bemærket, at der ofte ikke bruges de mest optimale løsninger til at udføre disse simple operationer: begyndende med fmt, ex og afslutning mlr с tøddel и rs.

Hvilke standardfunktioner i UNIX-lignende operativsystemer var en opdagelse for dig?

Hvad vi skriver om i vores virksomhedsblog:

Diskussion: standard UNIX-værktøjer, som få mennesker har brugt og stadig bruger Hvordan domænenavnesystemet udviklede sig: ARPANET-æraen
Diskussion: standard UNIX-værktøjer, som få mennesker har brugt og stadig bruger Domænenavnesystemets historie: De første DNS-servere
Diskussion: standard UNIX-værktøjer, som få mennesker har brugt og stadig bruger Historie om DNS: da domænenavne blev betalt
Diskussion: standard UNIX-værktøjer, som få mennesker har brugt og stadig bruger Historien om domænenavnesystemet: Protocol Wars

Kilde: www.habr.com

Tilføj en kommentar