A szűrő számítógépes program vagy szubrutin, ami feldolgoz egy adatfolyamot, és egy másik adatfolyamot bocsát ki. Használható külön is, de össze is kapcsolhatók csövekkel.

A különböző operációs rendszerek különböző számú és típusú szűrőt biztosítottak. Az MS-DOS viszonylag keveset tartalmazott, szemben az akkori Unixszal. A lista a Windowsban bővült, a cmd.exe új képességekkel ruházta fel az MS-DOS-ból ismert régi szűrőket. A Windows 7 bevezette a Powershellt, ami már gazdagon el van látva szűrőkkel. A Unixokra továbbra is jellemző a sok szűrő. Az OS X-ben az Automatorral kapcsolhatók össze a szűrők csővezetékké.

Unix Unixokon és Unix alapú operációs rendszereken a szűrők elsődlegesen a szabványos bemenetükről olvasnak és a szabványos kimenetükre írnak. Másodlagos bemenetként olvashat fájlból és másodlagos kimenetként írhat a szabványos hibacsatornára. Mindezek átirányíthatók, a szabványos bemenet átirányításának jele a < bemeneti operátor; a szabványos kimenet átirányítására felülíró módban a >, hozzáfűző módban a >> szolgál. A szabványos hibacsatorna a 2> és a 2>> operátorokkal irányítható át. A szűrők a („|”) cső operátorral kapcsolhatók össze csővezetékké.

A Unix egyik alapelve bátorítja, hogy kisebb, különálló eszközök kombinálásával nagyobb egységeket hozzanak létre, amelyek bonyolult feladatokat tudnak elvégezni. Klasszikus a Ken Thompson által írt grep, amit Doug McIlroy úgy jellemzett, mint ami visszavonhatatlanul meggyökeresedett a Unix szemléletében, annyira, hogy későbbi eszközök utánozták. A grep azokat a sorokat keresi, ahol a keresett kifejezés megtalálható. Egy példa:

cut -d : -f 1 /etc/passwd | grep foo

Ez megtalálja azokat a regisztrált felhasználókat, akiknek felhasználóneve tartalmazza a foo szöveget. A cut utasítás veszi a Unix rendszer password fájljának első oszlopát, majd ezt átadja a grepnek bemenetként, ami megkeresi az összes sorban a foo szöveget, és kiírja az eredményt.

Unixon a leggyakrabban használt szűrők: cat, cut, grep, head, sort, uniq, és tail. Programok, mint awk és sed is használhatók összetett programok írására, mivel sokféleképpen paraméterezhetők. Unix szűrőkkel kutatók is nyerhetnek gyors áttekintést kapjanak egy fájl alapú adathalmazról.Data Analysis with the Unix Shell - Bernd Zuther, comSysto GmbH, 2013 Unix szűrők listája

awk cat comm cut expand compress fold grep head less more nl perl pr sed sh sort split strings tail tac tee tr uniq wc zcat

DOS A DOS korai időszakának két szűrője a find és a sort. Példák: find "kulcsszó" < bemenetifájl > kimenetifájl sort "kulcsszó" < bemenetifájl > kimenetifájl find /v "kulcsszó" < bemenetifájl | sort > kimenetifájl

Ezeket a szűrőket batch fájlok írására is lehetett használni.

Parancshéj környezetben további szűrőket is lehetett használni. Ezek egy része ingyenes, más része ideiglenesen ingyenes, harmadik része kereskedelmi volt. Ezek közül több a Unix szűrőit utánozta. Ezek egy része ablakozó környezettel is bírt, hogy kényelmesebben lehessen különböző paramétereket megadni, hogy megfelelően feldolgozhassa az adatait. Windows A Windows parancssor örökölte az MS-DOS programjait, egyeseket kibővítve, és újabb szűrőket is bevezettek. Például a Windows Server 2003 hat parancssori szűrőt tartalmaz az Active Directory módosítására, amelyek csövekkel összeköthetők: DSAdd, DSGet, DSMod, DSMove, DSRm és DSQuery.

A Windows PowerShell egy teljes szűrőcsaládot (cmdlets) bocsát a felhasználó rendelkezésére, amelyek csövekkel összeköthetők, kivéve néhány egyszerűt, mint például Clear-Screen. A példa megszerzi a C:\Windows bejegyzéseit, mindegyiknek megtudja a méretét, és növekvő sorrendben rendezi. Get-ChildItem C:\Windows | ForEach-Object { $_.length } | Sort-Object -Ascending Jegyzetek

Források http://www.webopedia.com/TERM/f/filter.html Fordítás

Kategória:Programtervezési minták