ProHoster > блог > адміністраванне > Абмеркаванне: стандартныя UNIX-утыліты, якія мала хто выкарыстоўваў і выкарыстоўвае зараз
Абмеркаванне: стандартныя UNIX-утыліты, якія мала хто выкарыстоўваў і выкарыстоўвае зараз
Тыдзень таму Дуглас Макілрай (Douglas McIlroy), распрацоўшчык канвеера UNIX і аўтар паняцця "кампанентна-арыентаванае праграмаванне", распавёў аб цікавых і незвычайных UNIX-праграмах, не якія знайшлі шырокага ўжывання. Публікацыя запусціла актыўнае абмеркаванне <br>Hacker News. Мы сабралі самае цікавае і будзем рады, калі вы далучыцеся да дыскусіі.
У UNIX-падобных аперацыйных сістэмах ёсць стандартны набор прылад для фарматавання тэксту. Утыліта памылка друку дазваляла праглядаць дакумент на наяўнасць памылак друку і гапаксаў - слоў, якія сустракаюцца ў матэрыяле толькі адзін раз. Што цікава, для пошуку памылак друку праграма не выкарыстоўвае слоўнікі. Яна абапіраецца толькі на інфармацыю ў файле і праводзіць частотны аналіз па триграммам (паслядоўнасць з трох знакаў). Пры гэтым усе неабходныя лічыльнікі захоўваюцца у масіве 26x26x26. Па словах Дугласа Макілроя, такога аб'ёму памяці ледзь хапала для некалькіх аднабайтных лічыльнікаў. Таму ў мэтах эканоміі іх пісалі ў лагарыфмічным выглядзе.
Сёння typo замянілі больш сучасныя і дакладныя праграмы праверкі правапісу на аснове слоўнікаў. Аднак пра інструмент усё яшчэ памятаюць - некалькі гадоў таму энтузіяст прадставіў рэалізацыю typo на Go. Рэпазітар абнаўляецца да гэтага часу.
Яшчэ адна прылада для працы з дакументамі з 80-х - пакет Writer's Workbench ад Лорынды Чэры (Lorinda Cherry) і Ніны Макдональд (Nina McDonald) з Bell Labs. У яго склад ўваходзілі інструменты для вызначэння частак гаворкі і стылю дакумента, пошуку таўталогій і залішне складаных прапаноў. Утыліты распрацоўвалі ў якасці дапаможніка для студэнтаў, і адзін час іх выкарыстоўвалі навучэнцы Дзяржаўнага універсітэта Каларада ў ЗША. Але да пачатку дзевяностых аб Writer's Workbench забыліся, таму што яго не ўлучылі ў Version 7 Unix. Аднак гэты інструмент працягнуў дарогу пераймальнікам - напрыклад, Граматыка для IBM PC.
У UNIX таксама маюцца стандартныя сродкі, якія спрашчаюць працу з формуламі. Ёсць прэпрацэсар мовы для афармлення матэматычных выразаў eqn. Ён адметны тым, што для адлюстравання формулы распрацоўніку дастаткова апісаць яе простымі словамі і сімваламі. Ключавыя словы дазваляюць ссоўваць матэматычныя знакі па вертыкалі і гарызанталі, змяняць іх памеры і іншыя параметры. Калі перадаць утыліце радок:
sum from { k = 1 } to N { k sup 2 }
На выхадзе будзе згенеравана наступная формула:
У 1980–1990-х eqn дапамагаў ІТ-адмыслоўцам пісаць мануалы да праграмнага забеспячэння. Але пазней яго замяніла сістэма LaTeX, якую выкарыстоўвае нават Habr. Але eqn - гэта першая прылада падобнага класа, які застаецца часткай UNIX-падобных АС.
Праца з файламі
У тэматычным трэдзе рэзідэнты Hacker News адзначылі некалькі рэдка выкарыстоўваных утыліт для працы з файламі. Адной з іх былаПрдч для іх параўнання. Гэта - спрошчаны аналаг розніца, заменчаны пад працу ў скрыптах. Яго напісаў сам Рычард Столман (Richard Stallman) разам з Дэвідам Макензі (David MacKenzie).
Вывад праграмы складаецца з трох слупкоў. У першую калонку трапляюць значэння, унікальныя для першага файла, у другой - унікальныя для другога файла. Трэці слупок уключае агульныя значэнні. Для карэктнай працы comm параўноўваныя дакументы павінны быць лексічна адсартаваны. Таму адзін з рэзідэнтаў пляцоўкі прапанаваў працаваць з утылітай у наступным выглядзе:
comm <(sort fileA.txt) <(sort fileB.txt)
Comm зручна выкарыстоўваць для праверкі напісання слоў. Дастаткова параўноўваць іх з эталонным дакументам-слоўнікам. Улічваючы тонкасці, звязаныя з неабходнасцю сартавання файлаў, ёсць меркаванне, што Столман і Макензі напісалі сваю ўтыліту выключна для гэтага юзкейса.
Таксама ўдзельнік абмеркавання на HN адзначыў магчымасці аператара ўстаўляць, якія былі для яго невідавочныя. Ён дазваляе чаргаваць струмені дадзеных ці падзяліць адзін струмень на дзве калонкі пры выснове:
Адзін з карыстальнікаў заўважыў, што часта для выканання гэтых простых аперацый ужываюць не самыя аптымальныя рашэнні: пачынальна з фмт, ex і заканчваючы mlr с j и rs.
Якія стандартныя магчымасці UNIX-падобных аперацыйных сістэм сталі адкрыццём для вас?