Discussione: utilità UNIX standard che poche persone hanno utilizzato e utilizzano ancora

Una settimana fa, Douglas McIlroy, sviluppatore della pipeline UNIX e ideatore del concetto di "programmazione orientata ai componenti", ha detto su programmi UNIX interessanti e insoliti che non sono ampiamente utilizzati. La pubblicazione ha lanciato una discussione attiva su Hacker News. Abbiamo raccolto le cose più interessanti e saremo lieti se parteciperai alla discussione.

Discussione: utilità UNIX standard che poche persone hanno utilizzato e utilizzano ancora
Фото - Virginia Johnson — Spruzza

Lavora con il testo

I sistemi operativi simili a UNIX dispongono di un set standard di strumenti per la formattazione del testo. Utilità errore di battitura ti ha permesso di rivedere il documento per errori di battitura e hapax - parole che compaiono nel materiale solo una volta. È interessante notare che il programma per la ricerca di errori di battitura non usa dizionari. Si basa solo sulle informazioni contenute nel file ed effettua l'analisi della frequenza utilizzando i trigrammi (una sequenza di tre caratteri). In questo caso, tutti i contatori necessari sono memorizzati in un array 26x26x26. Secondo Douglas McIlroy, questa quantità di memoria era appena sufficiente per diversi contatori a byte singolo. Pertanto, per risparmiare denaro, sono stati scritti in forma logaritmica.

Oggi gli errori di battitura sono stati sostituiti da correttori ortografici basati su dizionario più moderni e accurati. Tuttavia, la gente ricorda ancora lo strumento: qualche anno fa ne era un appassionato presentata implementazione dell'errore di battitura in Go. Il repository è ancora in fase di aggiornamento.

Un altro strumento per lavorare con documenti degli anni '80 è il pacchetto Il banco di lavoro dello scrittore da Lorinda Cherry e Nina McDonald dei Bell Labs. La sua composizione incluso strumenti per identificare parti del discorso e stile del documento, ricerca di tautologie e frasi inutilmente complesse. Le utilità sono state sviluppate come ausili per gli studenti, e un tempo lo erano usato studenti della Colorado State University negli Stati Uniti. Ma all'inizio degli anni novanta, Writer's Workbench fu dimenticato perché non era incluso nella versione 7 di Unix. Tuttavia, questo strumento ha continuato il suo percorso verso gli imitatori, ad esempio grammatica per computer IBM.

UNIX fornisce inoltre strumenti standard per semplificare il lavoro con le formule. Esiste un preprocessore del linguaggio per la formattazione delle espressioni matematiche eq. È interessante notare che per visualizzare una formula, lo sviluppatore deve solo descriverla con parole e simboli semplici. Le parole chiave ti consentono di spostare i simboli matematici verticalmente e orizzontalmente, modificarne le dimensioni e altri parametri. Se passi la linea all'utilità:

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

L'output genererà la seguente formula:

Discussione: utilità UNIX standard che poche persone hanno utilizzato e utilizzano ancora

Negli anni '1980 -'1990 eq aiutato Gli specialisti IT scrivono manuali per il software. Ma in seguito è stato sostituito dal sistema LaTeX, che usi anche Habr. Ma eqn è il primo strumento della sua classe a rimanere parte dei sistemi operativi simili a UNIX.

Lavorare con i file

In un thread tematico, i residenti di Hacker News hanno notato diverse utilità usate raramente per lavorare con i file. Uno di loro era comm per confrontarli. Questo è un analogo semplificato diff, adattato per lavorare negli script. Il suo ha scritto Richard Stallman stesso insieme a David MacKenzie.

L'output del programma è composto da tre colonne. La prima colonna contiene valori univoci del primo file, la seconda colonna contiene valori univoci del secondo file. La terza colonna include i valori totali. Affinché la comunicazione funzioni correttamente, i documenti confrontati devono essere ordinati lessicalmente. Pertanto, uno dei residenti del sito suggerì lavorare con l'utilità nel seguente modulo:

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

Comm è comodo da usare per controllare l'ortografia delle parole. È sufficiente confrontarli con un documento del dizionario di riferimento. Considerando le sottigliezze associate alla necessità di ordinare i file, esiste vista, che Stallman e MacKenzie hanno scritto la loro utilità esclusivamente per questo caso d'uso.

Discussione: utilità UNIX standard che poche persone hanno utilizzato e utilizzano ancora
Фото - Marnix Hogendoorn — Spruzza

Anche un partecipante alla discussione su HN egli ha osservato capacità dell'operatore incolla, che per lui non erano ovvi. Ti consente di intercalare flussi di dati o dividere un flusso in due colonne durante l'output:

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

Uno degli utenti ho notato, che spesso non vengono utilizzate le soluzioni più ottimali per eseguire queste semplici operazioni: a partire da FMT, ex e fine mlr с annotare in fretta и rs.

Quali caratteristiche standard dei sistemi operativi simili a UNIX sono state una scoperta per te?

Di cosa scriviamo nel nostro blog aziendale:

Discussione: utilità UNIX standard che poche persone hanno utilizzato e utilizzano ancora Come si è evoluto il Domain Name System: l'era ARPANET
Discussione: utilità UNIX standard che poche persone hanno utilizzato e utilizzano ancora Storia del Domain Name System: i primi server DNS
Discussione: utilità UNIX standard che poche persone hanno utilizzato e utilizzano ancora Storia del DNS: quando i nomi a dominio furono pagati
Discussione: utilità UNIX standard che poche persone hanno utilizzato e utilizzano ancora Storia del Domain Name System: guerre di protocollo

Fonte: habr.com

Aggiungi un commento