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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 που λίγοι άνθρωποι έχουν χρησιμοποιήσει και εξακολουθούν να χρησιμοποιούν Ιστορία του Συστήματος Ονομάτων Τομέα: Πόλεμοι Πρωτοκόλλων

Πηγή: www.habr.com

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