ProHoster > Блог > Nchịkwa > Mkparịta ụka: ngwa UNIX ọkọlọtọ nke mmadụ ole na ole jigoro ma ka na-eji
Mkparịta ụka: ngwa UNIX ọkọlọtọ nke mmadụ ole na ole jigoro ma ka na-eji
Неделю назад Дуглас Макилрой (Douglas McIlroy), разработчик конвейера UNIX и автор понятия «компонентно-ориентированное программирование», gwara об интересных и необычных UNIX-программах, не нашедших широкого применения. Публикация запустила активное обсуждение на Hacker News. Мы собрали самое интересное и будем рады, если вы присоединитесь к дискуссии.
В UNIX-подобных операционных системах есть стандартный набор инструментов для форматирования текста. Утилита typo позволяла просматривать документ на наличие опечаток и гапаксов — слов, встречающихся в материале только один раз. Что интересно, для поиска опечаток программа anaghị eji словари. Она опирается только на информацию в файле и проводит частотный анализ по триграммам (последовательность из трех символов). При этом все необходимые счетчики na -edebe в массиве 26x26x26. По словам Дугласа Макилроя, такого объема памяти едва хватало для нескольких однобайтных счётчиков. Поэтому в целях экономии их писали в логарифмическом виде.
Сегодня typo заменили более современные и точные программы проверки правописания на основе словарей. Однако про инструмент все еще помнят — несколько лет назад энтузиаст webatara реализацию typo на Go. Репозиторий обновляется до сих пор.
Еще один инструмент для работы с документами из 80-х — пакет Writer’s Workbench от Лоринды Черри (Lorinda Cherry) и Нины Макдональд (Nina McDonald) из Bell Labs. В его состав входили инструменты для определения частей речи и стиля документа, поиска тавтологий и излишне сложных предложений. Утилиты разрабатывали в качестве подспорья для студентов, и одно время их eji учащиеся Государственного университета Колорадо в США. Но к началу девяностых о Writer’s Workbench позабыли, потому что его не включили в Version 7 Unix. Однако этот инструмент продолжил дорогу подражателям — например, Grammatiken для IBM PC.
В UNIX также имеются стандартные средства, упрощающие работу с формулами. Есть препроцессор языка для оформления математических выражений ekn. Он примечателен тем, что для отображения формулы разработчику достаточно описать её простыми словами и символами. Ключевые слова позволяют смещать математические знаки по вертикали и горизонтали, менять их размеры и другие параметры. Если передать утилите строку:
sum from { k = 1 } to N { k sup 2 }
На выходе будет сгенерирована следующая формула:
В 1980–1990-х eqn помогал ИТ-специалистам писать мануалы к программному обеспечению. Но позже его заменила система LaTeX, которую na -eji даже Habr. Но eqn — это первый инструмент подобного класса, остающийся частью UNIX-подобных ОС.
Na-arụ ọrụ na faịlụ
В тематическом треде резиденты Hacker News отметили несколько редко используемых утилит для работы с файлами. Одной из них bụkọm для их сравнения. Это — упрощенный аналог iche, заточенный под работу в скриптах. Его dere сам Ричард Столлман (Richard Stallman) вместе с Дэвидом Маккензи (David MacKenzie).
Вывод программы состоит из трех столбцов. В первую колонку попадают значения, уникальные для первого файла, во второй — уникальные для второго файла. Третий столбец включает общие значения. Для корректной работы comm сравниваемые документы должны быть лексически отсортированы. Поэтому один из резидентов площадки tụrụ aro работать с утилитой в следующем виде:
comm <(sort fileA.txt) <(sort fileB.txt)
Comm удобно использовать для проверки написания слов. Достаточно сравнивать их с эталонным документом-словарем. Учитывая тонкости, связанные с необходимостью сортировки файлов, есть echiche, что Столлман и Маккензи написали свою утилиту исключительно для этого юзкейса.
Также участник обсуждения на HN kwuru возможности оператора rie nri, которые были для него неочевидны. Он позволяет чередовать потоки данных или разделить один поток на две колонки при выводе:
Otu n'ime ndị na -eji chọpụtara, что часто для выполнения этих простых операций применяют не самые оптимальные решения: начиная с fmt, ex и заканчивая mlr с jot и rs.
Какие стандартные возможности UNIX-подобных операционных систем стали открытием для вас?