Συζήτηση: τυπικά βοηθητικά προγράμματα UNIX που λίγοι άνθρωποι έχουν χρησιμοποιήσει και εξακολουθούν να χρησιμοποιούν

Πριν από μια εβδομάδα, ο Douglas McIlroy, προγραμματιστής του αγωγού UNIX και δημιουργός της έννοιας του "προγραμματισμού προσανατολισμένου σε στοιχεία", είπα σχετικά με ενδιαφέροντα και ασυνήθιστα προγράμματα UNIX που δεν χρησιμοποιούνται ευρέως. Η δημοσίευση ξεκίνησε μια ενεργή συζήτηση στο Hacker News. Έχουμε συλλέξει τα πιο ενδιαφέροντα πράγματα και θα χαρούμε να συμμετάσχετε στη συζήτηση.

Συζήτηση: τυπικά βοηθητικά προγράμματα UNIX που λίγοι άνθρωποι έχουν χρησιμοποιήσει και εξακολουθούν να χρησιμοποιούν
Фото - Βιρτζίνια Τζόνσον — Ξεβιδώστε

Εργασία με το κείμενο

Λειτουργικά συστήματα παρόμοια με το UNIX διαθέτουν ένα τυπικό σύνολο εργαλείων για τη μορφοποίηση κειμένου. Χρησιμότητα τυπογραφικό λάθος σας επέτρεψε να ελέγξετε το έγγραφο για τυπογραφικά λάθη και χάαξες - λέξεις που εμφανίζονται στο υλικό μόνο μία φορά. Είναι ενδιαφέρον το πρόγραμμα για την εύρεση τυπογραφικών σφαλμάτων δεν χρησιμοποιεί λεξικά. Βασίζεται μόνο στις πληροφορίες του αρχείου και πραγματοποιεί ανάλυση συχνότητας χρησιμοποιώντας τριγράμματα (ακολουθία τριών χαρακτήρων). Σε αυτή την περίπτωση, όλοι οι απαραίτητοι μετρητές φυλάσσονται σε πίνακα 26x26x26. Σύμφωνα με τον Douglas McIlroy, αυτή η ποσότητα μνήμης ήταν μόλις αρκετή για πολλούς μετρητές ενός byte. Επομένως, για να εξοικονομηθούν χρήματα, γράφτηκαν σε λογαριθμική μορφή.

Σήμερα το τυπογραφικό λάθος έχει αντικατασταθεί από πιο σύγχρονους και ακριβείς ορθογραφικούς ελέγχους που βασίζονται σε λεξικό. Ωστόσο, ο κόσμος εξακολουθεί να θυμάται το όργανο - πριν από μερικά χρόνια ένας ενθουσιώδης εισήχθη εφαρμογή τυπογραφικού λάθους στο Go. Το αποθετήριο εξακολουθεί να ενημερώνεται.

Ένα άλλο εργαλείο για την εργασία με έγγραφα από τη δεκαετία του '80 είναι το πακέτο Πάγκος εργασίας του συγγραφέα από τη Lorinda Cherry και τη Nina McDonald των Bell Labs. Η σύνθεσή του περιλαμβάνεται εργαλεία για τον προσδιορισμό τμημάτων του λόγου και του στυλ εγγράφου, αναζήτηση ταυτολογιών και περιττών σύνθετων προτάσεων. Τα βοηθητικά προγράμματα αναπτύχθηκαν ως βοηθήματα για τους μαθητές, και κάποτε μεταχειρισμένος φοιτητές στο Κρατικό Πανεπιστήμιο του Κολοράντο στις Η.Π.Α. Αλλά στις αρχές της δεκαετίας του '7, το Writer's Workbench είχε ξεχαστεί επειδή δεν συμπεριλήφθηκε στην έκδοση XNUMX Unix. Ωστόσο, αυτό το όργανο συνέχισε την πορεία του προς τους μιμητές - για παράδειγμα, γραμματική για IBM PC.

Το UNIX παρέχει επίσης τυπικά εργαλεία για να διευκολύνει την εργασία με τύπους. Υπάρχει ένας προεπεξεργαστής γλώσσας για τη μορφοποίηση μαθηματικών παραστάσεων εξ. Είναι αξιοσημείωτο το γεγονός ότι για να εμφανίσει έναν τύπο, ο προγραμματιστής χρειάζεται μόνο να τον περιγράψει με απλές λέξεις και σύμβολα. Οι λέξεις-κλειδιά σάς επιτρέπουν να μετατοπίζετε μαθηματικά σύμβολα κάθετα και οριζόντια, να αλλάζετε τα μεγέθη τους και άλλες παραμέτρους. Εάν περάσετε τη γραμμή στο βοηθητικό πρόγραμμα:

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

Η έξοδος θα δημιουργήσει τον ακόλουθο τύπο:

Συζήτηση: τυπικά βοηθητικά προγράμματα UNIX που λίγοι άνθρωποι έχουν χρησιμοποιήσει και εξακολουθούν να χρησιμοποιούν

Στις δεκαετίες 1980–1990 εξ βοήθησα Οι ειδικοί πληροφορικής γράφουν εγχειρίδια για λογισμικό. Αργότερα όμως αντικαταστάθηκε από το σύστημα LaTeX, το οποίο χρήσεις ακόμη και ο Χαμπρ. Αλλά το eqn είναι το πρώτο εργαλείο της κατηγορίας του που παραμένει μέρος λειτουργικών συστημάτων που μοιάζουν με UNIX.

Εργασία με αρχεία

Σε ένα θεματικό νήμα, οι κάτοικοι του Hacker News σημείωσαν πολλά βοηθητικά προγράμματα που χρησιμοποιούνται σπάνια για την εργασία με αρχεία. Ενας από αυτούς была Comm να τα συγκρίνουμε. Αυτό είναι ένα απλοποιημένο ανάλογο Diff, προσαρμοσμένο για εργασία σε σενάρια. Του написал Ο ίδιος ο Richard Stallman μαζί με τον David MacKenzie.

Η έξοδος του προγράμματος αποτελείται από τρεις στήλες. Η πρώτη στήλη περιέχει τιμές μοναδικές για το πρώτο αρχείο, η δεύτερη στήλη περιέχει τιμές μοναδικές για το δεύτερο αρχείο. Η τρίτη στήλη περιλαμβάνει τις συνολικές τιμές. Για να λειτουργήσει σωστά η επικοινωνία, τα συγκριτικά έγγραφα πρέπει να είναι λεξικά ταξινομημένα. Ως εκ τούτου, ένας από τους κατοίκους της τοποθεσίας πρότεινε εργαστείτε με το βοηθητικό πρόγραμμα με την ακόλουθη μορφή:

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

Το Comm είναι βολικό στη χρήση για τον έλεγχο της ορθογραφίας των λέξεων. Αρκεί να τα συγκρίνετε με ένα έγγραφο λεξικού αναφοράς. Λαμβάνοντας υπόψη τις λεπτές αποχρώσεις που σχετίζονται με την ανάγκη ταξινόμησης αρχείων, υπάρχει άποψη, ότι ο Stallman και ο MacKenzie έγραψαν το βοηθητικό πρόγραμμα τους αποκλειστικά για αυτήν την περίπτωση χρήσης.

Συζήτηση: τυπικά βοηθητικά προγράμματα UNIX που λίγοι άνθρωποι έχουν χρησιμοποιήσει και εξακολουθούν να χρησιμοποιούν
Фото - Μάρνιξ Χόγκεντορν — Ξεβιδώστε

Επίσης συμμετέχων στη συζήτηση στο HN σημείωσε δυνατότητες χειριστή πάστα, που δεν του ήταν προφανείς. Σας επιτρέπει να παρεμβάλλετε ροές δεδομένων ή να χωρίζετε μια ροή σε δύο στήλες κατά την έξοδο:

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

Ένας από τους χρήστες Παρατήρησα, ότι συχνά δεν χρησιμοποιούνται οι βέλτιστες λύσεις για την εκτέλεση αυτών των απλών λειτουργιών: ξεκινώντας από fmt, ex και τελειώνει mlr с σημειώνω и rs.

Ποια τυπικά χαρακτηριστικά λειτουργικών συστημάτων παρόμοια με το UNIX ήταν μια ανακάλυψη για εσάς;

Τι γράφουμε στο εταιρικό μας blog:

Συζήτηση: τυπικά βοηθητικά προγράμματα UNIX που λίγοι άνθρωποι έχουν χρησιμοποιήσει και εξακολουθούν να χρησιμοποιούν Πώς εξελίχθηκε το σύστημα ονομάτων τομέα: Η εποχή του ARPANET
Συζήτηση: τυπικά βοηθητικά προγράμματα UNIX που λίγοι άνθρωποι έχουν χρησιμοποιήσει και εξακολουθούν να χρησιμοποιούν Ιστορικό του συστήματος ονομάτων τομέα: Οι πρώτοι διακομιστές DNS
Συζήτηση: τυπικά βοηθητικά προγράμματα UNIX που λίγοι άνθρωποι έχουν χρησιμοποιήσει και εξακολουθούν να χρησιμοποιούν Ιστορικό DNS: όταν τα ονόματα τομέα έγιναν επί πληρωμή
Συζήτηση: τυπικά βοηθητικά προγράμματα UNIX που λίγοι άνθρωποι έχουν χρησιμοποιήσει και εξακολουθούν να χρησιμοποιούν History of the Domain Name System: Protocol Wars

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο