Diskussion: Standard-UNIX-Dienstprogramme, die nur wenige Leute verwendet haben und immer noch verwenden

Vor einer Woche erklärte Douglas McIlroy, Entwickler der UNIX-Pipeline und Begründer des Konzepts der „komponentenorientierten Programmierung“, sagte über interessante und ungewöhnliche UNIX-Programme, die nicht weit verbreitet sind. Die Veröffentlichung löste eine aktive Diskussion auf Hacker News aus. Wir haben das Interessanteste zusammengestellt und freuen uns, wenn Sie mitdiskutieren.

Diskussion: Standard-UNIX-Dienstprogramme, die nur wenige Leute verwendet haben und immer noch verwenden
Фото - Virginia Johnson – Unsplash

Arbeiten Sie mit Text

UNIX-ähnliche Betriebssysteme verfügen über einen Standardsatz an Tools zum Formatieren von Text. Dienstprogramm typo ermöglichte es Ihnen, das Dokument auf Tippfehler zu überprüfen und hapaxes - Wörter, die im Material nur einmal vorkommen. Interessant ist das Programm zum Auffinden von Tippfehlern verwendet nicht Wörterbücher. Es stützt sich ausschließlich auf die Informationen in der Datei und führt eine Häufigkeitsanalyse mithilfe von Trigrammen (einer Folge von drei Zeichen) durch. In diesem Fall alle notwendigen Zähler gespeichert sind in einem 26x26x26-Array. Laut Douglas McIlroy reichte diese Speichermenge kaum für mehrere Einzelbyte-Zähler. Um Geld zu sparen, wurden sie daher in logarithmischer Form geschrieben.

Heutzutage werden Tippfehler durch modernere und genauere wörterbuchbasierte Rechtschreibprüfungen ersetzt. Die Menschen erinnern sich jedoch noch an das Instrument – ​​vor ein paar Jahren ein Liebhaber eingeführt Implementierung von Tippfehlern in Go. Das Repository wird noch aktualisiert.

Ein weiteres Tool zum Arbeiten mit Dokumenten aus den 80er Jahren ist das Paket Werkbank des Schriftstellers von Lorinda Cherry und Nina McDonald von Bell Labs. Seine Zusammensetzung inbegriffen Werkzeuge zur Identifizierung von Wortarten und Dokumentstilen sowie zur Suche nach Tautologien und unnötig komplexen Sätzen. Dienstprogramme wurden als Hilfsmittel für Studenten entwickelt, und das einst auch benutzt Studenten der Colorado State University in den USA. Doch in den frühen Neunzigern geriet Writer's Workbench in Vergessenheit, da es in Version 7 von Unix nicht enthalten war. Dieses Instrument setzte jedoch seinen Weg zu Nachahmern fort – zum Beispiel Grammatik für IBM PC.

UNIX bietet außerdem Standardtools, die die Arbeit mit Formeln erleichtern. Für die Formatierung mathematischer Ausdrücke gibt es einen Sprachpräprozessor Gl. Es zeichnet sich dadurch aus, dass der Entwickler zur Darstellung einer Formel diese lediglich in einfachen Worten und Symbolen beschreiben muss. Mit Schlüsselwörtern können Sie mathematische Symbole vertikal und horizontal verschieben, ihre Größe und andere Parameter ändern. Wenn Sie die Zeile an das Dienstprogramm übergeben:

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

Die Ausgabe generiert die folgende Formel:

Diskussion: Standard-UNIX-Dienstprogramme, die nur wenige Leute verwendet haben und immer noch verwenden

In den 1980er–1990er Jahren wurde Gl geholfen IT-Spezialisten schreiben Handbücher für Software. Später wurde es jedoch durch das LaTeX-System ersetzt, das verwendet sogar Habr. Aber eqn ist das erste Tool seiner Klasse, das Teil von UNIX-ähnlichen Betriebssystemen bleibt.

Arbeiten mit Dateien

In einem thematischen Thread erwähnten die Bewohner von Hacker News mehrere selten verwendete Dienstprogramme für die Arbeit mit Dateien. Einer von ihnen es war comm um sie zu vergleichen. Dies ist ein vereinfachtes Analogon diff, zugeschnitten auf die Arbeit in Skripten. Sein написал Richard Stallman selbst zusammen mit David MacKenzie.

Die Programmausgabe besteht aus drei Spalten. Die erste Spalte enthält Werte, die für die erste Datei eindeutig sind, die zweite Spalte enthält Werte, die für die zweite Datei eindeutig sind. Die dritte Spalte enthält die Gesamtwerte. Damit die Kommunikation korrekt funktioniert, müssen die verglichenen Dokumente lexikalisch sortiert werden. Daher einer der Standortbewohner vorgeschlagen Arbeiten Sie mit dem Dienstprogramm in der folgenden Form:

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

Comm ist praktisch, um die Rechtschreibung von Wörtern zu überprüfen. Es reicht aus, sie mit einem Referenzwörterbuchdokument zu vergleichen. Angesichts der Feinheiten, die mit der Notwendigkeit des Sortierens von Dateien verbunden sind, ist dies der Fall sehen, dass Stallman und MacKenzie ihr Dienstprogramm ausschließlich für diesen Anwendungsfall geschrieben haben.

Diskussion: Standard-UNIX-Dienstprogramme, die nur wenige Leute verwendet haben und immer noch verwenden
Фото - Marnix Hogendoorn – Unsplash

Auch Diskussionsteilnehmer zum Thema HN sagte Bedienerfunktionen Einfügen, was für ihn nicht offensichtlich war. Es ermöglicht Ihnen, Datenströme zu verschachteln oder einen Strom bei der Ausgabe in zwei Spalten aufzuteilen:

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

Einer der Benutzer bemerkt, dass oft nicht die optimalsten Lösungen verwendet werden, um diese einfachen Operationen durchzuführen: beginnend mit fmt, ex und ende mlr с Funken и rs.

Welche Standardfunktionen UNIX-ähnlicher Betriebssysteme waren für Sie eine Entdeckung?

Worüber wir in unserem Unternehmensblog schreiben:

Diskussion: Standard-UNIX-Dienstprogramme, die nur wenige Leute verwendet haben und immer noch verwenden Wie sich das Domain Name System entwickelte: Die ARPANET-Ära
Diskussion: Standard-UNIX-Dienstprogramme, die nur wenige Leute verwendet haben und immer noch verwenden Geschichte des Domain Name Systems: Die ersten DNS-Server
Diskussion: Standard-UNIX-Dienstprogramme, die nur wenige Leute verwendet haben und immer noch verwenden Geschichte von DNS: Als Domain-Namen kostenpflichtig wurden
Diskussion: Standard-UNIX-Dienstprogramme, die nur wenige Leute verwendet haben und immer noch verwenden Geschichte des Domain Name Systems: Protokollkriege

Source: habr.com

Kommentar hinzufügen