Filter
In software, a filter is a program or component that processes data and passes along only the items that match specified criteria.
In software, a filter is a program or component that processes data and passes along only the items that match specified criteria. Filters are commonly used in pipelines, where the output of one program becomes the input of another, and in content, network, and data-processing systems. The term also has a broader technical meaning in computing as any function that transforms or screens input into output.
Definition
A filter in software is a program or subroutine that receives data, applies rules or transformations, and outputs a resulting stream. The term is used broadly across computing, including data processing and Unix-style command-line tools. A software filter processes a stream of input and produces another stream as output.
Unix and pipeline usage
In Unix and Unix-like operating systems, a filter usually reads from standard input and writes to standard output, making it easy to combine multiple filters in a pipeline. This design allows complex processing to be built from small, focused programs. Filters are often chained together to form pipelines.
Filtering technologies
Government material on content filtering describes a layered model with core technologies and application-layer tools. Examples include blacklists and whitelists, automatic text analysis, access authority control, proxy software, special-purpose browsers, and access-control applications. Core filtering technologies can include URL lists, automatic text analysis, access control, and activity tracing.
Related software areas
The word filter is also used in specialized software for tasks such as data filtering, web filtering, and electronic filter design. In these contexts, the program screens, selects, or transforms data according to defined rules.
Key facts
- A software filter processes a stream of input and produces another stream as output.
- In Unix-like systems, filters typically read from standard input and write to standard output.
- Filters are often chained together to form pipelines.
Canadian government material on content filtering technologies describes how filtering is used in internet access control and related applications, making the concept relevant to Canadian policy, education, and network-management contexts.[6]
Frequently asked questions
What is a filter in software?
How are software filters used in Unix?
What is a pipeline?
What kinds of filtering technologies exist?
Is a data filter the same as a web filter?
References
- Wikipedia — https://en.wikipedia.org/wiki/Filter_(software)Supports: Defines a software filter as a program or subroutine that processes a stream and notes Unix standard input/output usage and pipelines.
- Government of Canada — https://publications.gc.ca/collections/collection_2021/isde-ised/iu64/Iu64-93-2000-eng.pdfSupports: Describes content filtering technologies, core technologies, and application-layer filtering tools.
- OMICRON Lab — https://www.omicron-lab.com/products/vector-network-analysis/quickfilSupports: Shows a software tool for designing passive electronic filters, illustrating another specialized use of the term.
- MathWorks — https://www.mathworks.com/help/dsp/ref/filterdesigner.htmlSupports: Documents a filter design application used to design, analyze, and modify filters.
- Microwaves & RF — https://www.mwrf.com/technologies/embedded/software/article/21844585/searching-through-software-for-a-filterSupports: Provides examples of filter design software and related filter types across analog and digital domains.