Filtro (software) - Filter (software)

Um filtro é um programa de computador ou sub - rotina para processar um fluxo , produzindo outro fluxo. Embora um único filtro possa ser usado individualmente, eles são frequentemente ligados para formar um pipeline .

Alguns sistemas operacionais como o Unix são ricos em programas de filtro. O Windows 7 e posterior também são ricos em filtros, pois incluem o Windows PowerShell . Em comparação, no entanto, poucos filtros são integrados ao cmd.exe (a interface de linha de comando original do Windows), a maioria dos quais tem melhorias significativas em relação aos comandos de filtro semelhantes que estavam disponíveis no MS-DOS . O OS X inclui filtros de sua base Unix subjacente, mas também possui Automator , que permite que os filtros (conhecidos como "Ações") sejam agrupados para formar um pipeline.

Unix

Em sistemas operacionais Unix e semelhantes ao Unix , um filtro é um programa que obtém a maior parte de seus dados de sua entrada padrão (o fluxo de entrada principal) e grava seus resultados principais em sua saída padrão (o fluxo de saída principal). A entrada auxiliar pode vir de sinalizadores de linha de comando ou arquivos de configuração, enquanto a saída auxiliar pode ir para o erro padrão . A sintaxe do comando para obter dados de um dispositivo ou arquivo diferente da entrada padrão é o operador de entrada ( <). Da mesma forma, para enviar dados para um dispositivo ou arquivo diferente da saída padrão é o operador de saída ( >). Para anexar linhas de dados a um arquivo de saída existente, pode-se usar o operador append ( >>). Os filtros podem ser amarrados juntos em uma tubulação com o operador de tubo (" |"). Este operador significa que a saída principal do comando à esquerda é passada como entrada principal para o comando à direita.

A filosofia Unix incentiva a combinação de ferramentas pequenas e discretas para realizar tarefas maiores. O filtro clássico no Unix é o grep de Ken Thompson , que Doug McIlroy cita como o que "arraigou a aparência das ferramentas de forma irrevogável" no sistema operacional, com ferramentas posteriores imitando-o. grep em sua forma mais simples imprime quaisquer linhas contendo uma string de caracteres em sua saída. O seguinte é um exemplo:

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

Isso encontra todos os usuários registrados que têm "foo" como parte de seu nome de usuário usando o comando cut para pegar o primeiro campo (nome de usuário) de cada linha do arquivo de senha do sistema Unix e passando-os todos como entrada para grep, que pesquisa sua entrada para linhas contendo a string de caracteres "foo" e as imprime em sua saída.

Os programas de filtro Unix comuns são: cat , cut , grep , head , sort , uniq e tail . Programas como awk e sed podem ser usados ​​para construir filtros bastante complexos porque são totalmente programáveis. Filtros Unix também podem ser usados ​​por cientistas de dados para obter uma visão geral rápida sobre um conjunto de dados baseado em arquivo.

Lista de programas de filtro Unix

DOS

Dois filtros padrão dos primeiros dias dos computadores baseados em DOS são localizar e classificar .

Exemplos:

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

Esses filtros podem ser usados ​​em arquivos em lote (* .bat, * .cmd etc.).

Para uso no mesmo ambiente de shell de comando , existem muitos mais filtros disponíveis do que aqueles integrados ao Windows. Alguns deles são freeware , alguns shareware e alguns são programas comerciais. Vários deles imitam a função e os recursos dos filtros no Unix. Alguns programas de filtragem têm uma interface gráfica de usuário (GUI) para permitir que os usuários projetem um filtro personalizado para atender a seus requisitos especiais de processamento de dados e / ou mineração de dados .

janelas

O Prompt de Comando do Windows herdou os comandos do MS-DOS, aprimorou alguns e acrescentou alguns. Por exemplo, o Windows Server 2003 apresenta seis filtros de linha de comando para modificar o Active Directory que podem ser encadeados por piping: DSAdd, DSGet, DSMod, DSMove, DSRm e DSQuery.

O Windows PowerShell adiciona um host completo de filtros conhecidos como "cmdlets" que podem ser encadeados com um tubo, exceto alguns simples, por exemplo Clear-Screen. O exemplo a seguir obtém uma lista de arquivos na C:\Windowspasta, obtém o tamanho de cada um e classifica o tamanho em ordem crescente. Mostra como três filtros ( Get-ChildItem, ForEach-Objecte Sort-Object) são encadeados com tubos.

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

Referências

links externos