Фильтр представляет собой компьютерную программу или подпрограмму для обработки потока , производя другой поток. Хотя один фильтр можно использовать по отдельности, они часто соединяются вместе, образуя конвейер .
Некоторые операционные системы, такие как Unix, содержат множество программ-фильтров. Windows 7 и более поздние версии также богаты фильтрами, поскольку они включают Windows PowerShell . Для сравнения, однако, в cmd.exe (исходный интерфейс командной строки Windows) встроено несколько фильтров , большинство из которых имеют значительные улучшения по сравнению с аналогичными командами фильтров, которые были доступны в MS-DOS . OS X включает фильтры из своей базовой базы Unix, но также имеет Automator , который позволяет объединять фильтры (известные как «Действия») вместе для формирования конвейера.
Unix
В Unix и Unix-подобных операционных системах фильтр - это программа, которая получает большую часть своих данных из своего стандартного ввода (основной входной поток) и записывает свои основные результаты в свой стандартный вывод (основной выходной поток). Вспомогательный ввод может поступать из флагов командной строки или файлов конфигурации, в то время как вспомогательный вывод может идти к стандартной ошибке . Синтаксис команды для получения данных с устройства или файла, отличного от стандартного ввода, - это оператор ввода ( <
). Точно так же для отправки данных на устройство или файл, отличный от стандартного вывода, используется оператор вывода ( >
). Чтобы добавить строки данных в существующий выходной файл, можно использовать оператор добавления ( >>
). Фильтры могут быть объединены в конвейер с помощью оператора конвейера (" |
"). Этот оператор означает, что основной вывод команды слева передается как основной ввод для команды справа.
Философию Unix , способствует объединению малых, дискретным инструментов для выполнения больших задач. Классический фильтр в Unix - это grep Кена Томпсона , который Дуг Макилрой цитирует как то, что «безвозвратно укоренило взгляд на инструменты» в операционной системе, а более поздние инструменты имитируют его. [1]grep в простейшем виде выводит на свой вывод любые строки, содержащие символьную строку. Ниже приведен пример:
вырезать -d: -f 1 / etc / passwd | grep foo
Это обнаруживает всех зарегистрированных пользователей, у которых есть "foo" как часть их имени пользователя, используя команду cut, чтобы взять первое поле (имя пользователя) каждой строки файла паролей системы Unix и передать их всех в качестве входных данных в grep, который ищет его вход для строк, содержащих символьную строку «foo», и печатает их на своем выходе.
Распространенные программы фильтрации Unix: cat , cut , grep , head , sort , uniq и tail . Такие программы, как awk и sed, можно использовать для создания довольно сложных фильтров, поскольку они полностью программируемы. Фильтры Unix также могут использоваться специалистами по обработке данных, чтобы получить быстрый обзор набора данных на основе файлов. [2]
Список программ фильтрации Unix
ДОС
Два стандартных фильтра с первых дней появления компьютеров на базе DOS - это поиск и сортировка .
Примеры:
find "ключевое слово" < inputfilename > outputfilename sort "keyword" < inputfilename > outputfilename find / v "ключевое слово" < inputfilename | sort> outputfilename
Такие фильтры можно использовать в пакетных файлах (* .bat, * .cmd и т. Д.).
Для использования в той же среде командной оболочки доступно гораздо больше фильтров, чем встроенных в Windows. Некоторые из них являются бесплатными , некоторые условно-бесплатными, а некоторые - коммерческими программами. Некоторые из них имитируют функции и особенности фильтров в Unix. Некоторые программы фильтрации имеют графический пользовательский интерфейс (GUI), позволяющий пользователям разрабатывать индивидуальный фильтр в соответствии с их особыми требованиями к обработке и / или интеллектуальному анализу данных .
Окна
Командная строка Windows унаследовала команды MS-DOS, улучшила некоторые и добавила некоторые. Например, в Windows Server 2003 есть шесть фильтров командной строки для изменения Active Directory, которые можно связать по конвейеру: DSAdd, DSGet, DSMod, DSMove, DSRm и DSQuery. [3]
Windows PowerShell добавляет целый ряд фильтров, известных как «командлеты», которые можно связать вместе с конвейером, за исключением нескольких простых, например Clear-Screen
. В следующем примере получается список файлов в C:\Windows
папке, размер каждого из них и сортировка размера в порядке возрастания. Он показывает , как три фильтра ( Get-ChildItem
, ForEach-Object
и Sort-Object
) прикован с трубами.
Get-ChildItem C : \ Windows | ForEach -Object { $ _ . длина } | Сортировка-Объект-По возрастанию
Рекомендации
- Перейти ↑ McIlroy, MD (1987). Читатель Research Unix: аннотированные выдержки из Руководства программиста, 1971–1986 (PDF) (технический отчет). CSTR. Bell Labs. 139.
- ^ Анализ данных с помощью Unix Shell, заархивированный 22 января 2016 г. на Wayback Machine - Бернд Зютер, comSysto GmbH, 2013 г.
- ^ Холм, Дэн; Томас, Орин (2004). Управление и поддержка среды Microsoft Windows Server 2003: экзамен 70-290 . Редмонд, Вашингтон : Microsoft Press . стр. 3 | 17—3 | 26 . ISBN 9780735614376.
Внешние ссылки
- http://www.webopedia.com/TERM/f/filter.html