Πριν από μια εβδομάδα, ο Ντάγκλας ΜακΙλρόι, ο προγραμματιστής του αγωγού UNIX και ο δημιουργός του όρου «προγραμματισμός προσανατολισμένος σε στοιχεία», σχετικά με ενδιαφέροντα και ασυνήθιστα προγράμματα UNIX που δεν έχουν βρει ευρεία εφαρμογή. Η δημοσίευση ξεκίνησε μια ενεργή συζήτηση στο Hacker News. Έχουμε συγκεντρώσει τα πιο ενδιαφέροντα και θα χαρούμε να συμμετάσχετε στη συζήτηση.
Фото - — Ξεβιδώστε
Εργασία με κείμενο
Τα λειτουργικά συστήματα τύπου 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 }Στην έξοδο θα δημιουργηθεί ο ακόλουθος τύπος:

Στις δεκαετίες του 1980 και του 1990, η ισοτιμία ειδικούς πληροφορικής για να γράφουν εγχειρίδια για λογισμικό. Αλλά αργότερα αντικαταστάθηκε από το σύστημα LaTeX, το οποίο ακόμη και Habr. Αλλά το eqn είναι το πρώτο εργαλείο αυτής της κλάσης που παραμένει μέρος των λειτουργικών συστημάτων τύπου UNIX.
Εργασία με αρχεία
Σε ένα θεματικό νήμα, οι κάτοικοι του Hacker News σημείωσαν αρκετά σπάνια χρησιμοποιούμενα βοηθητικά προγράμματα για την εργασία με αρχεία. Ένα από αυτά είναι Comm για τη σύγκρισή τους. Πρόκειται για ένα απλοποιημένο ανάλογο , ακονισμένο για εργασία σε σενάρια. Είναι Ο ίδιος ο Ρίτσαρντ Στόλμαν, μαζί με τον Ντέιβιντ Μακένζι.
Η έξοδος του προγράμματος αποτελείται από τρεις στήλες. Η πρώτη στήλη περιέχει τιμές μοναδικές για το πρώτο αρχείο, η δεύτερη στήλη περιέχει τιμές μοναδικές για το δεύτερο αρχείο. Η τρίτη στήλη περιλαμβάνει κοινές τιμές. Για να λειτουργήσει σωστά το comm, τα συγκρινόμενα έγγραφα πρέπει να είναι λεξικά ταξινομημένα. Επομένως, ένας από τους κατοίκους του ιστότοπου εργαστείτε με το βοηθητικό πρόγραμμα με την ακόλουθη μορφή:
comm <(sort fileA.txt) <(sort fileB.txt)Το Comm είναι βολικό στη χρήση για τον έλεγχο της ορθογραφίας των λέξεων. Αρκεί να τις συγκρίνετε με ένα έγγραφο αναφοράς λεξικού. Λαμβάνοντας υπόψη τις λεπτές αποχρώσεις που σχετίζονται με την ανάγκη ταξινόμησης αρχείων, υπάρχουν , ότι οι Stallman και MacKenzie έγραψαν το βοηθητικό τους πρόγραμμα αποκλειστικά για αυτήν την περίπτωση χρήσης.

Фото - — Ξεβιδώστε
Επίσης, συμμετέχων στη συζήτηση για το HN δυνατότητες χειριστή πάστα, τα οποία δεν ήταν προφανή σε αυτόν. Σας επιτρέπει να εναλλάσσετε ροές δεδομένων ή να διαιρείτε μια ροή σε δύο στήλες κατά την έξοδο:
$ paste <( echo -e 'foonbar' ) <( echo -e 'baznqux' )
foo baz
bar qux
$ echo -e 'foonbarnbaznqux' | paste - -
foo bar
baz qux
Ένας από τους χρήστες , ότι συχνά για την εκτέλεση αυτών των απλών λειτουργιών, χρησιμοποιούνται λύσεις που δεν είναι οι βέλτιστες: ξεκινώντας με , και τελειώνει с и .
Ποια τυπικά χαρακτηριστικά των λειτουργικών συστημάτων τύπου UNIX ήταν μια αποκάλυψη για εσάς;
Τι γράφουμε στο εταιρικό μας blog:
![]()
![]()
![]()
![]()
Πηγή: www.habr.com
