Filter (Software) - Filter (software)

Ein Filter ist ein Computerprogramm oder eine Unterroutine , um einen Stream zu verarbeiten und einen anderen Stream zu erzeugen. Während ein einzelner Filter einzeln verwendet werden kann, werden sie häufig zu einer Rohrleitung aneinandergereiht .

Einige Betriebssysteme wie Unix sind reich an Filterprogrammen. Windows 7 und höher sind auch reich an Filtern, da sie Windows PowerShell enthalten . Im Vergleich dazu sind jedoch nur wenige Filter in cmd.exe (der ursprünglichen Befehlszeilenschnittstelle von Windows) integriert, von denen die meisten erhebliche Verbesserungen gegenüber den ähnlichen Filterbefehlen aufweisen, die in MS-DOS verfügbar waren . OS X enthält Filter aus seiner zugrunde liegenden Unix-Basis, verfügt aber auch über Automator , mit dem Filter (bekannt als "Aktionen") zu einer Pipeline aneinandergereiht werden können.

Unix

In Unix und Unix-ähnlichen Betriebssystemen ist ein Filter ein Programm, das die meisten seiner Daten aus seiner Standardeingabe (dem Haupteingabestrom) bezieht und seine Hauptergebnisse in seine Standardausgabe (den Hauptausgabestrom ) schreibt . Hilfseingaben können von Befehlszeilen-Flags oder Konfigurationsdateien stammen, während Hilfsausgaben zu Standardfehlern gehen können . Die Befehlssyntax zum Abrufen von Daten aus einem anderen Gerät oder einer anderen Datei als der Standardeingabe ist der Eingabeoperator ( <). Ebenso ist das Senden von Daten an ein anderes Gerät oder eine andere Datei als die Standardausgabe der Ausgabeoperator ( >). Um Datenzeilen an eine vorhandene Ausgabedatei anzuhängen, kann man den Append-Operator ( >>) verwenden. Filter können mit dem Pipe-Operator (" ") zu einer Pipeline aneinandergereiht werden |. Dieser Operator bedeutet, dass die Hauptausgabe des Befehls links als Haupteingabe an den Befehl rechts übergeben wird.

Die Unix-Philosophie ermutigt dazu, kleine, diskrete Werkzeuge zu kombinieren, um größere Aufgaben zu erledigen. Der klassische Filter in Unix ist Ken Thompson ‚s grep , der Doug McIlroy zitiert als das, was im Betriebssystem‚die Werkzeuge Ausblick unwiderruflich tief verwurzelt‘, mit späteren Werkzeugen imitieren sie. grep gibt in seiner einfachsten Form alle Zeilen aus, die eine Zeichenkette enthalten. Folgendes ist ein Beispiel:

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

Dies findet alle registrierten Benutzer, die "foo" als Teil ihres Benutzernamens haben, indem der Befehl cut verwendet wird , um das erste Feld (Benutzername) jeder Zeile der Unix-Systempasswortdatei zu nehmen und sie alle als Eingabe an grep zu übergeben, die ihre Eingabe durchsucht für Zeilen, die die Zeichenkette "foo" enthalten, und gibt sie an seiner Ausgabe aus.

Übliche Unix-Filterprogramme sind: cat , cut , grep , head , sort , uniq und tail . Programme wie awk und sed können verwendet werden, um ziemlich komplexe Filter zu bauen, da sie vollständig programmierbar sind. Unix-Filter können auch von Data Scientists verwendet werden , um einen schnellen Überblick über einen dateibasierten Datensatz zu erhalten.

Liste der Unix-Filterprogramme

DOS

Zwei Standardfilter aus den Anfängen der DOS-basierten Computer sind find and sort .

Beispiele:

find "keyword" < inputfilename > outputfilename
sort "keyword" < inputfilename > outputfilename
find /v "keyword" < inputfilename | sort > outputfilename

Solche Filter können in Batch-Dateien (*.bat, *.cmd etc.) verwendet werden.

Für die Verwendung in derselben Befehlsshell- Umgebung stehen viel mehr Filter zur Verfügung als die in Windows integrierten. Einige davon sind Freeware , einige Shareware und einige sind kommerzielle Programme. Einige davon ahmen die Funktion und Eigenschaften der Filter in Unix nach. Einige Filterprogramme verfügen über eine grafische Benutzeroberfläche (GUI), damit Benutzer einen angepassten Filter entwerfen können, der ihren speziellen Datenverarbeitungs- und/oder Data-Mining- Anforderungen entspricht.

Fenster

Die Windows-Eingabeaufforderung hat MS-DOS-Befehle geerbt, einige verbessert und einige hinzugefügt. Zum Beispiel Windows Server 2003 verfügt über sechs Befehlszeilen Filter zum Modifizieren von Active Directory , die durch Rohrleitungen verkettet werden können: dsadd, dsget, Dsmod, dsmove, dsrm und DSQuery.

Windows PowerShell fügt eine ganze Reihe von Filtern hinzu, die als "Cmdlets" bekannt sind und mit einer Pipe verkettet werden können, mit Ausnahme einiger einfacher Filter, z Clear-Screen. Das folgende Beispiel ruft eine Liste der Dateien im C:\WindowsOrdner ab, ruft deren Größe ab und sortiert die Größe in aufsteigender Reihenfolge. Es zeigt, wie drei Filter ( Get-ChildItem, ForEach-Objectund Sort-Object) mit Pipes verkettet sind.

Get-ChildItem C:\Windows | ForEach-Object { $_.length } | Sort-Object -Ascending

Verweise

Externe Links