Кіріспе

Стандартты UNIX құралы

Есептеу техникасында, sort – Unix және Unix-қа ұқсас операциялық жүйелердің стандартты командалық жол бағдарламасы болып табылады, ол кіріс жолдарын немесе аргументтер тізімінде тізілген барлық файлдардың біріктірілген тізімін сұрыпталған тәртіппен шығарады. Сұрыптау әрбір кіріс жолынан алынған бір немесе бірнеше сұрыптау кілттерінің негізінде жүзеге асырылады. Дәстүрлі түрде, кірістің барлығы сұрыптау кілті ретінде қарастырылады. Бос орын – әдепкі өріс ажыратқышы. Бұл команда іске асылу жолына қарай өзгеретін бірнеше командалық жол опцияларын қолдайды. Мысалы, "r" белгісі сұрыптау ретін керітеді.

Тарих

Жалпы сұрыптау мүмкіндігін шақыратын команда алғаш рет Multics жүйесінде іске асырылды. Кейін ол Version 1 Unix-те пайда болды. Бұл нұсқаны бастапқыда AT&T Bell Laboratories-те Кен Томпсон жазған. Version 4 нұсқасында Томпсон оны құбырларды пайдалану үшін өзгертті, бірақ сұрыптау командасы шығыс файлын атау опциясын сақтап қалды, себебі ол файлды сол орнында сұрыптау үшін қолданылды. Version 5 нұсқасында Томпсон стандарттық кірісті білдіру үшін " " символын ойлап тапты. GNU coreutils жинағына енген нұсқасын Майк Хейртл мен Пол Эггерт жазды. Бұл іске асыруда біріктіру сұрыптау алгоритмі қолданылады. Ұқсас командалар көптеген басқа операциялық жүйелерде де бар, мысалы, команда ASCII-дің MSX DOS2 Tools құралының MSX DOS 2-ші нұсқасының бір бөлігі болып табылады. Команда IBM i операциялық жүйесіне де көшірілді.

Синтаксисі

sort [OPTION] [FILE]

Егер FILE көрсетілмесе немесе FILE бос болса, команда стандарттық кірістен оқиды.

Параметрлері

Атауы Сипаттама Unix Plan 9 Inferno FreeBSD Linux MSX DOS IBM i b, алдыңғы бос орындарды елемеу Алдыңғы бос орындарды елемеу. ✔ ✔ ✔ ✔ c Кіріс файлының сұрыпталғандығын тексеріңіз. ✔ ✔ ✔ ✔ C c сияқты, бірақ бірінші қате жолды хабарламайды. ✔ ✔ d, сөздік реті Тек бос орындар мен әріптік-цифрлық таңбаларды қарастырады. ✔ ✔ ✔ ✔ f, үлкен әріптерді елемеу Кіші әріптерді үлкен әріптерге айналдырады. ✔ ✔ ✔ ✔ g, жалпы сандық сұрыптау, sort=general numeric Жалпы сандық мән бойынша салыстырады. ✔ ✔ ✔ h, адам сандық сұрыптау, sort=human numeric Адам оқи алатын сандарды (мысалы, 2K 1G) салыстырады. ✔ ✔ ✔ i, баспаға шығарылмайтын таңбаларды елемеу Тек баспаға шығарылатын таңбаларды ғана қарастырады. ✔ ✔ ✔ ✔ k, key=POS1[,POS2] Кілт POS1 (бастапқы нүкте 1) орнынан басталып, POS2 орнында аяқталады (жолдың соңы, әдепкі бойынша). ✔ ✔ m Тек біріктіру; кіріс файлдары алдын ала сұрыпталған деп есептеледі. ✔ ✔ ✔ ✔ M, айлар бойынша сұрыптау, sort=month (белгісіз) < 'JAN' < ... < 'DEC' деп салыстырады. ✔ ✔ ✔ ✔ n, сандық сұрыптау, sort=numeric Сандық мәні бойынша салыстырады. ✔ ✔ ✔ ✔ ✔ o OUTPUT Стандартты шығыс орнына OUTPUT файлын пайдаланады. ✔ ✔ ✔ r, кері сұрыптау Салыстыру нәтижесін кері қайтарады. ✔ ✔ ✔ ✔ ✔ R, кездейсоқ сұрыптау, sort=random Қосарлады, бірақ бірдей кілттерді топтастырады. Сондай-ақ қараңыз: shuf ✔ ✔ ✔ s Сұрыптауды тұрақтандыру үшін соңғы салыстыруды өшіреді. ✔ ✔ S өлшемі, буфер өлшемі=өлшемі Есте сақтау буферінің максималды өлшемі үшін өлшемді пайдаланыңыз. ✔ tx 'Таб таңбасы' өрістерді бөлу үшін x таңбасын пайдаланады. ✔ ✔ ✔ t char, field separator=char Бос емес және бос орын арасындағы ауысу орнына char таңбасын пайдаланады. ✔ ✔ T dir, уақытша каталог=dir Уақытша файлдарды сақтау үшін dir каталогын пайдаланады. ✔ ✔ ✔ u, бірегей Тек әрбір бірдей кілттері бар жолдардың біреуін ғана қалдырады. ✔ ✔ ✔ V, нұсқа бойынша сұрыптау Мәтіндегі (нұсқа) нөмірлерді табиғи түрде сұрыптайды. ✔ ✔ w i сияқты, бірақ тек табу және бос орындарды елемеңіз. ✔ z, нөлмен аяқтау Жаңа жол емес, 0 байтпен жолдарды аяқтайды. ✔ ✔ көмек Көмекті көрсетіп, шығады. ✔ ✔ нұсқасы Нұсқа туралы ақпаратты көрсетіп, шығады. ✔ ✔ /R Салыстыру нәтижесін кері қайтарады. ✔ /S Әр жолдың қанша цифрын бағалау керектігін анықтау үшін цифрлар санын көрсетіңіз. ✔ /A ASCII коды бойынша сұрыптау. ✔ /H Wild card пайдаланғанда жасырын файлдарды қосады. ✔

Кездейсоқ сұрыптау

GNU-ның нұсқасы хэштелген кездейсоқ сұрыптау опциясын (R) ұсынады; бұл толыққанды кездейсоқ араластыру емес, себебі бірдей жолдарды біріктіріп қояды. Нағыз кездейсоқ сұрыптау үшін Unix құралы shuf қолданылады.

Версия бойынша сұрыптау

GNU-ның іске асырылуында мәтін ішіндегі (нұсқа) сандарды табиғи түрде сұрыптауға мүмкіндік беретін V нұсқасы бар. Салыстырылатын екі мәтіндік тізбек әріптер және сандар блоктарына бөлінеді. Әріптер блогы әліпби бойынша салыстырылады, ал сандар блогы сандық түрде салыстырылады (яғни, басындағы нөлдер назарға алынбайды, сандардың көп болуы үлкенді білдіреді, әйтпесе ең сол жақтағы ерекшеленетін сандар нәтижені анықтайды). Блоктар солдан оңға салыстырылады және осы циклдағы алғашқы тең емес блок қай мәтін үлкен екенін шешеді. Бұл IP-адрестер, Debian пакеттерінің нұсқа тізбектері және ұзындығы өзгеріп отыратын сандар тізбектерге енгізілетін басқа да ұқсас міндеттер үшін жарамды.