Талқылау: UNIX стандартты утилиталарын аз адамдар пайдаланған және әлі де пайдаланады

Бір апта бұрын Дуглас МакИлрой, UNIX конвейерінің әзірлеушісі және «компоненттік бағдарланған бағдарламалау» тұжырымдамасының бастамашысы, Мен айтты кеңінен қолданылмайтын қызықты және әдеттен тыс UNIX бағдарламалары туралы. Басылым Hacker News туралы белсенді пікірталас бастады. Біз ең қызықты нәрселерді жинадық, егер сіз талқылауға қосылсаңыз, қуанышты боламыз.

Талқылау: UNIX стандартты утилиталарын аз адамдар пайдаланған және әлі де пайдаланады
Фото - Вирджиния Джонсон - Шығу

Мәтінмен жұмыс істеу

UNIX тәрізді операциялық жүйелерде мәтінді пішімдеуге арналған құралдардың стандартты жиынтығы бар. Утилита теру құжаттағы қателерді қарауға мүмкіндік берді және хаакс - материалда бір рет қана кездесетін сөздер. Бір қызығы, қателерді табуға арналған бағдарлама пайдаланбайды сөздіктер. Ол тек файлдағы ақпаратқа сүйенеді және триграммаларды (үш таңба тізбегі) пайдаланып жиілікті талдауды жүргізеді. Бұл жағдайда барлық қажетті есептегіштер сақталады 26x26x26 массивінде. Дуглас Макилройдың айтуынша, бұл жад көлемі бірнеше бір байтты есептегіштер үшін әрең жетеді. Сондықтан ақшаны үнемдеу үшін олар логарифмдік түрде жазылды.

Бүгінгі таңда қате сөздікке негізделген заманауи және дәлірек емлені тексеру құралдарымен ауыстырылды. Дегенмен, адамдар әлі күнге дейін аспап туралы есте сақтайды - бірнеше жыл бұрын энтузиаст енгізілді Go жүйесінде қатені енгізу. Репозиторий әлі де жаңартылуда.

80-ші жылдардағы құжаттармен жұмыс істеудің тағы бір құралы - пакет Жазушының жұмыс үстелі Bell Labs қызметкері Лоринда Черри мен Нина Макдональдтан. Оның құрамы енгізілген сөйлеу бөліктерін және құжат стилін анықтауға, тавтологияларды және қажетсіз күрделі сөйлемдерді іздеуге арналған құралдар. Коммуналдық бағдарламалар студенттерге көмекші құрал ретінде әзірленді және бір кездері олар пайдаланылады АҚШ-тың Колорадо мемлекеттік университетінің студенттері. Бірақ тоқсаныншы жылдардың басында Writer's Workbench ұмытылды, себебі ол Unix 7-нұсқасына қосылмаған. Дегенмен, бұл құрал еліктеушілерге жолын жалғастырды - мысалы, Grammatiken IBM PC үшін.

UNIX сонымен қатар формулалармен жұмыс істеуді жеңілдету үшін стандартты құралдарды ұсынады. Математикалық өрнектерді пішімдеуге арналған тілдік препроцессор бар экн. Бір қызығы, формуланы көрсету үшін әзірлеуші ​​оны қарапайым сөздермен және символдармен сипаттау керек. Түйінді сөздер математикалық белгілерді тігінен және көлденеңінен ауыстыруға, олардың өлшемдерін және басқа параметрлерін өзгертуге мүмкіндік береді. Желіні қызметтік бағдарламаға өткізсеңіз:

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

Шығару келесі формуланы жасайды:

Талқылау: UNIX стандартты утилиталарын аз адамдар пайдаланған және әлі де пайдаланады

1980-1990 жылдары экн көмектесті IT мамандары бағдарламалық қамтамасыз ету үшін нұсқаулықтар жазады. Бірақ кейінірек ол LaTeX жүйесімен ауыстырылды, ол пайдаланады тіпті Хабр. Бірақ eqn - бұл UNIX-тәрізді операциялық жүйелердің бөлігі болып қалатын өз класының бірінші құралы.

Файлдармен жұмыс істеу

Тақырыптық ағында Hacker News тұрғындары файлдармен жұмыс істеу үшін сирек қолданылатын бірнеше утилиталарды атап өтті. Олардың біреуі болды Comm оларды салыстыру. Бұл жеңілдетілген аналог диф, сценарийлерде жұмыс істеуге арналған. Оның жазды Ричард Сталлманның өзі Дэвид Маккензимен бірге.

Бағдарламаның шығысы үш бағаннан тұрады. Бірінші бағанда бірінші файлға бірегей мәндер, екінші бағанда екінші файлға бірегей мәндер бар. Үшінші баған жалпы мәндерді қамтиды. comm дұрыс жұмыс істеуі үшін салыстырылған құжаттар лексикалық түрде сұрыпталуы керек. Сондықтан сайт тұрғындарының бірі ұсынды утилитамен келесі формада жұмыс істеу:

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

Comm сөздердің емлесін тексеру үшін қолдануға ыңғайлы. Оларды анықтамалық сөздік құжатымен салыстыру жеткілікті. Файлдарды сұрыптау қажеттілігімен байланысты нәзіктіктерді ескере отырып, бар пікір, Сталлман мен Маккензи өздерінің утилиталарын тек осы пайдалану жағдайына жазған.

Талқылау: UNIX стандартты утилиталарын аз адамдар пайдаланған және әлі де пайдаланады
Фото - Марникс Хогендорн - Шығу

Сондай-ақ HN бойынша пікірталасқа қатысушы атап өтті оператордың мүмкіндіктері паста, ол оған анық емес еді. Ол деректер ағындарын бөлуге немесе шығару кезінде бір ағынды екі бағанға бөлуге мүмкіндік береді:

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

Пайдаланушылардың бірі байқады, бұл қарапайым операцияларды орындау үшін көбінесе ең оңтайлы шешімдер пайдаланылмайды: бастап fmt, ex және аяқтау млн с ескерту и rs.

UNIX тәрізді операциялық жүйелердің қандай стандартты мүмкіндіктері сіз үшін жаңалық болды?

Біздің корпоративтік блогымызда не жазамыз:

Талқылау: UNIX стандартты утилиталарын аз адамдар пайдаланған және әлі де пайдаланады Домендік атаулар жүйесі қалай дамыды: ARPANET дәуірі
Талқылау: UNIX стандартты утилиталарын аз адамдар пайдаланған және әлі де пайдаланады Домендік атаулар жүйесінің тарихы: алғашқы DNS серверлері
Талқылау: UNIX стандартты утилиталарын аз адамдар пайдаланған және әлі де пайдаланады DNS тарихы: домендік атаулар ақылы болған кезде
Талқылау: UNIX стандартты утилиталарын аз адамдар пайдаланған және әлі де пайдаланады Домендік атаулар жүйесінің тарихы: хаттамалық соғыстар

Ақпарат көзі: www.habr.com

пікір қалдыру