Filter (Software)Ein Filter ist im Bereich Softwareentwicklung und -anwendung eine (Teil-)Funktion eines Programms, die eingehende Daten nach vorgegebenen Kriterien überprüft und nur die den Kriterien entsprechenden Daten der Weiterverarbeitung zuführt bzw. in den Ausgabe-Datenstrom leitet. In erweitertem Sinn wird unter diesem Begriff in der Terminologie unixoider Betriebssysteme auch eine Gruppe von Befehlszeilenprogrammen zusammengefasst, mittels derer eingelesene Daten nicht nur auf Teilmengen reduziert, sondern auch verändert (umgeformt, modifiziert, manipuliert, erweitert, angereichert, zusammengeführt etc.) ausgegeben werden.[1] Filter als KommandozeilenfunktionDer Begriff des Filters stammt ursprünglich aus dem Betriebssystem UNIX, das insgesamt ein reichhaltiges Sortiment an Programmen bietet, die sich als „Filter“ einsetzen lassen: tr, sed, grep, join, awk, um nur einige wenige zu nennen. Insbesondere das unter Unix eingeführte Konzept der Pipelines eignet sich hervorragend, solche Filter zur Nachbearbeitung oder auch Auswertung von Datenbeständen einzusetzen. Das Konzept der Filter wurde auch in andere Betriebssysteme (etwa VMS, aber auch MS-DOS und seine Abkömmlinge) übernommen, meist allerdings in, verglichen mit UNIX-artigen Systemen, deutlich geringerem Umfang. Einschränkend sei angemerkt, dass der Begriff Filter lediglich umgangssprachlich verwendet wird und keine exakte wissenschaftliche Definition vorliegt. Was also genau ein Filter ist, und ob ein konkretes Stück Software als solcher bezeichnet werden kann, darüber kann es durchaus unterschiedliche Auffassungen geben. FunktionsweiseTypischerweise werden Filter in einer Pipeline oder deren Äquivalent eingesetzt, bekommen also Daten von Beispiel für Unix und Unix-ähnliche SystemeDas Beispiel filtert aus einer Scriptdatei (KornShell-Script) den Kommentarheader bis zur ersten Nicht-Kommentar-Zeile und gibt diesen Teil des Scripts auf sed '1d;/^#/ !{d;q}' /path/to/script.ksh
Beispiel für DOS und DOS-ähnlicheBereits wegen des Fehlens einer RegExp-Engine kann das obige Beispiel mit nativen DOS-Kommandos nur eingeschränkt nachgebildet werden. Der folgende Befehl gibt alle Kommentarzeilen einer angegebenen Script-Datei aus, egal an welcher Stelle sie vorkommen: find "REM" c:\path\to\script.bat
Filter in anderen AnwendungenAllgemein im Softwarebereich sind Filter Softwarefunktionen, die Eingabedaten daraufhin überprüfen, ob sie bestimmten Filter-Kriterien entsprechen, mit dem Ziel, nur bestimmte Daten entweder zu verarbeiten/auszugeben (und andere nicht) oder umgekehrt diese nicht zu verarbeiten. Die Kriterien müssen in einer für die Filter-Routine festgelegten Form (Syntax) vorliegen, um interpretiert bzw. verarbeitet werden zu können, ebenso muss festgelegt sein, ob sie als Ausschluss- oder als Einschlusskriterien wirken sollen. Beispiele aus sonstigen Anwendungen
Im erweiterten Sinn findet auch beim Verarbeiten von Daten aus Datenbanken ein Filtern statt: Mit speziellen Selektionsbefehlen wird die Datenmenge festgelegt, die verarbeitet werden soll, zum Beispiel Rechnungen an Kunden, die seit 𝑛 Tagen unbezahlt sind, und dazu deren Adressdaten. Siehe auchEinzelnachweise
|