Un filtro es un programa o subrutina de computadora para procesar un flujo y producir otro flujo. Si bien un solo filtro se puede usar individualmente, con frecuencia se unen para formar una tubería .
Algunos sistemas operativos como Unix son ricos en programas de filtrado. Windows 7 y versiones posteriores también son ricas en filtros, ya que incluyen Windows PowerShell . En comparación, sin embargo, algunos filtros están integrados en cmd.exe (la interfaz de línea de comandos original de Windows), la mayoría de los cuales tienen mejoras significativas en relación con los comandos de filtro similares que estaban disponibles en MS-DOS . OS X incluye filtros de su base Unix subyacente, pero también tiene Automator , que permite que los filtros (conocidos como "Acciones") se unan para formar una tubería.
Unix
En Unix y Unix-como sistemas operativos, un filtro es un programa que obtiene la mayor parte de sus datos desde su entrada estándar (el flujo de entrada principal) y escribe sus principales resultados a su salida estándar (la secuencia de salida principal). La entrada auxiliar puede provenir de indicadores de línea de comando o archivos de configuración, mientras que la salida auxiliar puede tener un error estándar . La sintaxis del comando para obtener datos de un dispositivo o archivo que no sea la entrada estándar es el operador de entrada ( <
). De manera similar, para enviar datos a un dispositivo o archivo que no sea la salida estándar es el operador de salida ( >
). Para agregar líneas de datos a un archivo de salida existente, se puede usar el operador de agregar ( >>
). Los filtros se pueden unir en una tubería con el operador de tubería (" |
"). Este operador significa que la salida principal del comando de la izquierda se pasa como entrada principal del comando de la derecha.
La filosofía de Unix fomenta la combinación de herramientas pequeñas y discretas para realizar tareas más grandes. El filtro clásico en Unix es el grep de Ken Thompson , que Doug McIlroy cita como lo que "arraigó la perspectiva de las herramientas de manera irrevocable" en el sistema operativo, con herramientas posteriores que lo imitaron. [1]grep en su forma más simple imprime cualquier línea que contenga una cadena de caracteres en su salida. Lo siguiente es un ejemplo:
cut -d: -f 1 / etc / passwd | grep foo
Esto encuentra a todos los usuarios registrados que tienen "foo" como parte de su nombre de usuario usando el comando cut para tomar el primer campo (nombre de usuario) de cada línea del archivo de contraseña del sistema Unix y pasándolos todos como entrada a grep, que busca su entrada para las líneas que contienen la cadena de caracteres "foo" y las imprime en su salida.
Los programas de filtro comunes de Unix son: cat , cut , grep , head , sort , uniq y tail . Programas como awk y sed se pueden usar para construir filtros bastante complejos porque son completamente programables. Los científicos de datos también pueden utilizar filtros Unix para obtener una descripción general rápida de un conjunto de datos basado en archivos. [2]
Lista de programas de filtrado de Unix
DOS
Se encuentran y ordenan dos filtros estándar de los primeros días de las computadoras basadas en DOS .
Ejemplos:
encontrar "palabra clave" < inputfilename > outputfilename tipo "palabra clave" < inputfilename > outputfilename encontrar / v "palabra clave" < inputfilename | ordenar> nombre de archivo de salida
Estos filtros se pueden utilizar en archivos por lotes (* .bat, * .cmd, etc.).
Para su uso en el mismo entorno de shell de comandos , hay muchos más filtros disponibles que los integrados en Windows. Algunos de estos son freeware , algunos shareware y algunos son programas comerciales. Varios de estos imitan la función y características de los filtros en Unix. Algunos programas de filtrado tienen una interfaz gráfica de usuario (GUI) que permite a los usuarios diseñar un filtro personalizado que se adapte a sus requisitos especiales de procesamiento de datos y / o minería de datos .
Ventanas
El símbolo del sistema de Windows heredó los comandos de MS-DOS, mejoró algunos y agregó algunos. Por ejemplo, Windows Server 2003 presenta seis filtros de línea de comandos para modificar Active Directory que se pueden encadenar mediante tuberías: DSAdd, DSGet, DSMod, DSMove, DSRm y DSQuery. [3]
Windows PowerShell agrega una gran cantidad de filtros conocidos como "cmdlets" que se pueden encadenar con una tubería, excepto algunos simples, por ejemplo Clear-Screen
. El siguiente ejemplo obtiene una lista de archivos en la C:\Windows
carpeta, obtiene el tamaño de cada uno y clasifica el tamaño en orden ascendente. Muestra cómo tres filtros ( Get-ChildItem
, ForEach-Object
y Sort-Object
) están encadenados con tuberías.
Get-ChildItem C : \ Windows | ParaCada -Objeto { $ _ . longitud } | Ordenar-Objeto- Ascendente
Referencias
- ^ McIlroy, MD (1987). Un lector de investigación Unix: extractos comentados del Manual del programador, 1971–1986 (PDF) (Informe técnico). CSTR. Bell Labs. 139.
- ^ Análisis de datos con Unix Shell Archivado el22 de enero de 2016en Wayback Machine - Bernd Zuther, comSysto GmbH, 2013
- ^ Holme, Dan; Thomas, Orin (2004). Gestión y mantenimiento de un entorno Microsoft Windows Server 2003: examen 70-290 . Redmond, WA : Microsoft Press . págs. 3 | 17—3 | 26 . ISBN 9780735614376.
enlaces externos
- http://www.webopedia.com/TERM/f/filter.html