Un filtro es un programa informático o subrutina que procesa un flujo de datos , generando otro. Si bien un solo filtro puede usarse individualmente, con frecuencia se combinan para formar una tubería .
Algunos sistemas operativos, como Unix, cuentan con una gran cantidad de programas de filtrado. Windows 7 y versiones posteriores también incluyen numerosos filtros, como Windows PowerShell . Sin embargo, en comparación, cmd.exe (la interfaz de línea de comandos original de Windows) incorpora pocos filtros , la mayoría de los cuales presentan mejoras significativas con respecto a los comandos de filtrado similares disponibles en MS-DOS . OS X incluye filtros derivados de su base Unix, pero también cuenta con Automator , que permite combinar filtros (conocidos como "Acciones") para formar una secuencia de comandos.
Unix
En los sistemas operativos Unix y similares , un filtro es un programa que obtiene la mayor parte de sus datos de su entrada estándar (el flujo de entrada principal) y escribe sus resultados principales en su salida estándar (el flujo de salida principal). La entrada auxiliar puede provenir de indicadores de línea de comandos o archivos de configuración, mientras que la salida auxiliar puede ir al error estándar . La sintaxis de comando para obtener datos de un dispositivo o archivo distinto de la entrada estándar es el operador de entrada ( <). De manera similar, para enviar datos a un dispositivo o archivo distinto de 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 adición ( ). Los filtros se pueden encadenar 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 al comando de la derecha.>>|
La filosofía de Unix fomenta la combinación de herramientas pequeñas e independientes para realizar tareas más complejas. El filtro clásico en Unix es grep , de Ken Thompson , que Doug McIlroy cita como el que "inculcó irrevocablemente la perspectiva de las herramientas" en el sistema operativo, y que posteriormente imitaron otras herramientas. [ 1 ] En su forma más simple , grep imprime en su salida cualquier línea que contenga una cadena de caracteres. El 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, utilizando el comando cut para tomar el primer campo (nombre de usuario) de cada línea del archivo de contraseñas del sistema Unix y pasándolos todos como entrada a grep, que busca en su entrada líneas que contengan la cadena de caracteres "foo" y las imprime en su salida.
Los programas de filtrado comunes en Unix son: cat , cut , grep , head , sort , tail y uniq . Programas como awk y sed permiten crear filtros bastante complejos gracias a su total programación. Los científicos de datos también pueden utilizar filtros de Unix para obtener una visión general rápida de un conjunto de datos basado en archivos. [ 2 ]
Lista de programas de filtro de Unix
DOS
Dos filtros estándar de los primeros tiempos de las computadoras basadas en DOS son find y sort .
Ejemplos:
encontrar "palabra clave" <nombrearchivoentrada> nombrearchivosalida ordenar "palabra clave" <nombrearchivoentrada>nombrearchivosalida encontrar / v " palabra clave " < nombrearchivoentrada | ordenar> nombrearchivosalida
Estos filtros pueden utilizarse en archivos por lotes (*.bat, *.cmd, etc.).
Para su uso en el mismo entorno de línea de comandos , existen muchos más filtros disponibles que los integrados en Windows. Algunos son gratuitos , otros de código abierto y otros comerciales. Varios de ellos imitan la función y las características de los filtros de Unix. Algunos programas de filtrado cuentan con una interfaz gráfica de usuario (GUI) que permite a los usuarios diseñar un filtro personalizado que se ajuste a sus necesidades específicas de procesamiento o minería de datos .
Windows
El Símbolo del sistema de Windows heredó comandos de MS-DOS, mejoró algunos y añadió otros. Por ejemplo, Windows Server 2003 incluye 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:\Windowscarpeta, obtiene el tamaño de cada uno y ordena el tamaño en orden ascendente. Muestra cómo se encadenan tres filtros ( Get-ChildItem, ForEach-Objecty ) con tuberías.Sort-Object
Obtener-elemento secundario C :\ Windows | Para cada objeto { $_ . longitud } | Ordenar-objeto -ascendenteReferencias
- ↑ McIlroy, MD (1987). Un lector de Research Unix: extractos anotados del Manual del programador, 1971–1986 (PDF) (Informe técnico). CSTR. Bell Labs. 139.
- ↑ Análisis de datos con el intérprete de comandos de Unix. Archivado el 22/01/2016 en Wayback Machine - Bernd Zuther, comSysto GmbH, 2013
- ↑ Holme, Dan; Thomas, Orin (2004). Administració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
- patrones de diseño de software
- paradigmas de programación
- Tecnología de sistemas operativos