Filtr (programmalıq támiynat)
Filtr — bul aǵımdı qayta islep, basqa aǵım payda etetuǵın kompyuter programması yamasa qosımsha programma. Bir filtr jeke qollanılıwı múmkin bolsa da, olar kóbinese konveyer dúziw ushın bir-birine jalǵanadı.
Unix sıyaqlı ayırım operaciyalıq sistemalar filtr programmalarına bay. Windows 7 hám onnan keyingi versiyaları da filtrlerge bay, sebebi olar Windows PowerShell-di óz ishine aladı. Biraq, salıstırǵanda, cmd.exe-ge (Windowstıń dáslepki komanda qatarı interfeysi) az filtrler ornatılǵan, olardıń kópshiligi MS-DOS-ta bar bolǵan uqsas filtr komandalarına salıstırǵanda áhmiyetli jaqsılanıwlarǵa iye. OS X óziniń tiykarındaǵı Unix bazasınan filtrlerdi óz ishine aladı, biraq onda sonday-aq Automator da bar, ol filtrlerdi («Actions» - «Háreketler» dep ataladı) konveyer dúziw ushın bir-birine jalǵawǵa múmkinshilik beredi.
Unix
Unix hám Unix-ke uqsas operaciyalıq sistemalarda filtr — bul maǵlıwmatlarınıń kóp bólegin standart kirgiziwden (tiykarǵı kirgiziw aǵımı) alatuǵın hám tiykarǵı nátiyjelerin standart shıǵarıwǵa (tiykarǵı shıǵarıw aǵımı) jazatuǵın programma. Qosımsha kirgiziw komanda qatarı bayraqlarınan yamasa konfiguraciya fayllarınan keliwi múmkin, al qosımsha shıǵarıw standart qátege jiberiliwi múmkin. Standart kirgiziwden basqa qurılmadan yamasa fayldan maǵlıwmat alıw ushın buyrıq sintaksisi — bul kirgiziw operatorı (<). Sol sıyaqlı, standart shıǵarıwdan basqa qurılmaǵa yamasa faylǵa maǵlıwmat jiberiw ushın — bul shıǵarıw operatorı (>). Bar bolǵan shıǵarıw faylına maǵlıwmat qatarların qosıw ushın qosıp jazıw operatorın (>>) paydalanıwǵa boladı. Filtrler konveyer operatorı («|») menen konveyerge biriktiriliwi múmkin. Bul operator shep jaqtaǵı buyrıqtıń tiykarǵı shıǵarıwı oń jaqtaǵı buyrıqqa tiykarǵı kirgiziw retinde beriliwin bildiredi.
Unix filosofiyası úlken wazıypalardı orınlaw ushın kishi, bólek qurallardı biriktiriwge shaqıradı. Unix-tegi klassikalıq filtr — bul Ken Tompsonnıń grep buyrıǵı bolıp, Dag Makilroy onı operaciyalıq sistemada «qurallarǵa degen kózqarastı qaytarıp bolmaytuǵınday sińdirgen» dep ataydı hám keyingi qurallar oǵan eliklegen.[1] grep eń ápiwayı kórinisinde belgili bir simvollar qatarın óz ishine alǵan hár qanday qatardı óziniń shıǵarıwına basıp shıǵaradı. Tómende bir mısal keltirilgen:
cut -d : -f 1 /etc/passwd | grep foo
Bul Unix sistemasınıń parol faylınıń hárbir qatarınan birinshi maydandı (paydalanıwshı atı) alıw ushın cut buyrıǵın paydalanıp hám olardıń hámmesin grep-ke kirgiziw retinde jiberip, paydalanıwshı atında «foo» sózi bar barlıq dizimnen ótken paydalanıwshılardı tabadı. grep óziniń kirgiziwinen «foo» simvollar qatarın óz ishine alǵan qatarlardı izleydi hám olardı óziniń shıǵarıwına basıp shıǵaradı.
Keń tarqalǵan Unix filtr programmaları: cat, cut, grep, head, sort, tail hám uniq. awk hám sed sıyaqlı programmalar júdá quramalı filtrler dúziw ushın qollanılıwı múmkin, sebebi olar tolıq programmalanatuǵın. Unix filtrlerin sonday-aq maǵlıwmatlar ilimpazları faylǵa tiykarlanǵan maǵlıwmatlar jıynaǵı haqqında tez sholıw alıw ushın da paydalana aladı.
Unix filtr programmalarınıń dizimi
- awk
- cat
- comm
- compress
- cut
- expand
- fold
- grep
- head
- nl
- paste
- perl
- pr
- sed
- sh
- sort
- split
- strings
- tac
- tail
- tee
- tr
- uniq
- wc
- zcat
DOS
DOSqa tiykarlanǵan kompyuterlerdiń dáslepki kúnlerinen qalǵan eki standart filtr — bul find hám sort.
Mısallar:
find "keyword" < inputfilename > outputfilename sort "keyword" < inputfilename > outputfilename find /v "keyword" < inputfilename | sort > outputfilename
Bunday filtrler paketli fayllarda (*.bat, *.cmd hám t.b.) qollanılıwı múmkin.
Sol bir komanda qabıǵı ortalıǵında paydalanıw ushın, Windowsqa ornatılǵanlardan basqa da kóp filtrler bar. Olardıń ayırımları biypul (freeware), ayırımları shártli biypul (shareware) hám ayırımları kommerciyalıq programmalar. Olardıń bir qatarı Unixtegi filtrlerdiń funkciyası menen ózgesheliklerin qaytalaydı. Ayırım filtrlew programmaları paydalanıwshılarǵa ózleriniń arnawlı maǵlıwmatlardı qayta islew hám/yamasa maǵlıwmatlardı qazıp alıw talaplarına sáykes keliw ushın arnawlı filtr proektlestiriwge múmkinshilik beretuǵın grafikalıq paydalanıwshı interfeysine (GUI) iye.
Windows
Windows Command Prompt (Komanda qatarı) MS-DOS buyrıqların miyras etip aldı, ayırımların jaqsıladı hám jańaların qostı. Mısalı, Windows Server 2003-te Active Directory-di ózgertiwge arnalǵan altı buyrıq qatarı filtri bar, olardı konveyer arqalı biriktiriwge boladı: DSAdd, DSGet, DSMod, DSMove, DSRm hám DSQuery[2].
Windows PowerShell «cmdlet» dep atalatuǵın kóplegen filtrlerdi qosadı, olardı konveyer menen biriktiriwge boladı, tek Clear-Screen sıyaqlı bir neshe ápiwayılarınan basqa. Tómendegi mısal C:\Windows papkasındaǵı fayllar dizimin aladı, hárbiriniń ólshemin aladı hám ólshemdi ósiw tártibinde sortlaydı. Bul úsh filtrdiń (Get-ChildItem, ForEach-Object hám Sort-Object) konveyerler menen qalay biriktirilgenin kórsetedi.
Get-ChildItem C:\Windows | ForEach-Object { $_.length } | Sort-Object -Ascending
Derekler
- ↑ McIlroy, M. D. (1987). A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971–1986 (PDF) (Technical report). CSTR. Bell Labs. 139.
- ↑ Holme, Dan; Thomas, Orin. Managing and maintaining a Microsoft Windows Server 2003 environment : exam 70-290. Redmond, WA: Microsoft Press, 2004 — 3|17—3|26 bet. ISBN 9780735614376.