Diskussion: standard UNIX-verktyg som få människor har använt och fortfarande använder

För en vecka sedan, Douglas McIlroy, utvecklare av UNIX-pipeline och upphovsman till konceptet "komponentorienterad programmering", jag sa om intressanta och ovanliga UNIX-program som inte används i stor utsträckning. Publikationen startade en aktiv diskussion om Hacker News. Vi har samlat de mest intressanta sakerna och blir glada om du går med i diskussionen.

Diskussion: standard UNIX-verktyg som få människor har använt och fortfarande använder
Фото - Virginia Johnson — unsplash

Arbeta med text

UNIX-liknande operativsystem har en standarduppsättning verktyg för att formatera text. Verktyg typo tillät dig att granska dokumentet för stavfel och hapaxes - ord som endast förekommer i materialet en gång. Intressant nog, programmet för att hitta stavfel använder ej ordböcker. Den förlitar sig endast på informationen i filen och utför frekvensanalys med hjälp av trigram (en sekvens av tre tecken). I det här fallet, alla nödvändiga räknare hålls i en 26x26x26 array. Enligt Douglas McIlroy räckte denna mängd minne knappt till för flera enbyte-räknare. Därför, för att spara pengar, skrevs de i logaritmisk form.

Idag har stavfel ersatts av mer moderna och korrekta ordboksbaserade stavningskontroller. Men folk minns fortfarande om instrumentet - för några år sedan en entusiast lämnats implementering av stavfel i Go. Förvaret uppdateras fortfarande.

Ett annat verktyg för att arbeta med dokument från 80-talet är paketet Writer's Workbench från Lorinda Cherry och Nina McDonald från Bell Labs. Dess sammansättning ingår verktyg för att identifiera delar av tal och dokumentstil, söka efter tautologier och onödigt komplexa meningar. Verktyg utvecklades som hjälpmedel för studenter, och en gång i tiden Begagnade studenter vid Colorado State University i USA. Men i början av nittiotalet glömdes Writer's Workbench bort eftersom den inte ingick i version 7 Unix. Detta instrument fortsatte dock sin väg till imitatorer - t.ex. grammatik för IBM PC.

UNIX tillhandahåller också standardverktyg för att göra det enklare att arbeta med formler. Det finns en språkförprocessor för formatering av matematiska uttryck ekv. Det är anmärkningsvärt för det faktum att för att visa en formel behöver utvecklaren bara beskriva den med enkla ord och symboler. Nyckelord låter dig flytta matematiska symboler vertikalt och horisontellt, ändra deras storlekar och andra parametrar. Om du skickar linjen till verktyget:

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

Utdata kommer att generera följande formel:

Diskussion: standard UNIX-verktyg som få människor har använt och fortfarande använder

Under 1980–1990-talen motsv hjälpte IT-specialister skriver manualer för programvara. Men senare ersattes det av LaTeX-systemet, som användningsområden till och med Habr. Men eqn är det första verktyget i sin klass som förblir en del av UNIX-liknande operativsystem.

Arbeta med filer

I en tematisk tråd noterade invånare i Hacker News flera sällan använda verktyg för att arbeta med filer. En av dem det var comm att jämföra dem. Detta är en förenklad analog diff, skräddarsydd för att arbeta i manus. Hans jag skrev Richard Stallman själv tillsammans med David MacKenzie.

Programutgången består av tre kolumner. Den första kolumnen innehåller värden som är unika för den första filen, den andra kolumnen innehåller värden som är unika för den andra filen. Den tredje kolumnen inkluderar de totala värdena. För att comm ska fungera korrekt måste de jämförda dokumenten vara lexikalt sorterade. Därför en av de boende på plats han erbjöd arbeta med verktyget i följande form:

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

Comm är bekvämt att använda för att kontrollera stavningen av ord. Det räcker med att jämföra dem med ett referensordboksdokument. Med tanke på de finesser som är förknippade med behovet av att sortera filer finns det visa, att Stallman och MacKenzie skrev sitt verktyg exklusivt för detta användningsfall.

Diskussion: standard UNIX-verktyg som få människor har använt och fortfarande använder
Фото - Marnix Hogendoorn — unsplash

Även diskussionsdeltagare på HN han noterade operatörens kapacitet klistra, som inte var självklara för honom. Det låter dig interfoliera dataströmmar eller dela en ström i två kolumner när du matar ut:

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

En av användarna märkt, att ofta inte de mest optimala lösningarna används för att utföra dessa enkla operationer: börjar med fmt, ex och slut mlr с anteckna и rs.

Vilka standardfunktioner i UNIX-liknande operativsystem var en upptäckt för dig?

Vad vi skriver om i vår företagsblogg:

Diskussion: standard UNIX-verktyg som få människor har använt och fortfarande använder Hur domännamnssystemet utvecklades: ARPANET-eran
Diskussion: standard UNIX-verktyg som få människor har använt och fortfarande använder Historik för domännamnssystemet: De första DNS-servrarna
Diskussion: standard UNIX-verktyg som få människor har använt och fortfarande använder Historia för DNS: när domännamn blev betalda
Diskussion: standard UNIX-verktyg som få människor har använt och fortfarande använder Historia för domännamnssystemet: Protocol Wars

Källa: will.com

Lägg en kommentar