Фільтр (програма)Фільтр — це комп'ютерна програма чи підпрограма обробки потоку, що створює інший потік. У той час як один фільтр може бути використаний індивідуально, вони часто нанизуються один на одного для формування конвеєра. Деякі операційні системи як Unix багаті на програми-фільтри. Windows 7 та пізніші версії також багаті на фільтри, оскільки вони містять в собі Windows PowerShell. Для порівняння, однак, кілька фільтрів вбудовано в cmd.exe (оригінальний інтерфейс командного рядка у Windows), більшість з яких мають значні удосконалення в порівнянні з подібними командами фільтрів, що були доступні в MS-DOS. OS X включає фільтри з основної бази Unix, але також має і Automator, який дозволяє фільтрам (відомим тут як «Дії») нанизуватися один на одного для формування конвеєру. UnixВ Unix і Unix-подібних операційних системах фільтр являє собою програму, яка отримує більшу частину своїх даних із стандартного введення (головний вхідний потік) і пише свої основні результати в стандартне виведення (головний вихідний потік). Додаткове введення може надійти з параметрів командного рядка чи конфігураційних файлів, в той час як додаткове виведення може піти на стандартне виведення помилок. Синтаксис команди для отримання даних з пристрою чи файлу (а не стандартного введення) — це оператор введення ( Філософія Unix закликає об'єднувати меленькі, дискретні інструменти для виконання більших завдань. Класичним фільтром в Unix є grep Кена Томпсона, який Дуглас Макілрой процитував як «інструмент, що безповоротно вкорінений в світогляд» операційної системи, з пізнішими інструментами, що імітують його.[1] В найпростішому випадку grep виводить всі рядки, що містять рядок символів на свій потік виведення. Нижче наведено приклад: cut -d : -f 1 /etc/passwd | grep foo
Це дозволить знайти всіх зареєстрованих користувачів, які містять «foo» в своєму імені користувача, використовуючи команду cut, щоб взяти перше поле (ім'я користувача) з кожного рядка в системному файлі паролів Unix і передавши це все як ввід для grep, який шукатиме в цьому вводі рядки, що містять рядок символів «foo» і передасть це на вивід. Загальні програми-фільтри в Unix: cat, cut, grep, head, sort, uniq і tail. Програми на кшталт awk та sed можуть бути використані для створення досить складних фільтрів, тому що вони є повністю програмованими. Фільтри Unix можуть також використовуватися фахівцями, що представляють науку про дані для проведення швидкого огляду файлового набору даних.[2] Список програм-фільтрів в UnixDOSНа комп'ютерах, що базуються на операційній системі MS-DOS, з ранніх днів двома стандартними фільтрами є find та sort. Приклади: find "ключове_слово" < вхідний_файл > вихідний_файл sort "ключове_слово" < вхідний_файл > вихідний файл find /v "ключове_слово < вхідний_файл | sort > вихідний_файл Такі фільтри можна використовувати в пакетних файлах (*.bat, *.cmd тощо). Для використання в тій же самій оболонці операційної системи доступно це багато фільтрів окрім тих, що вбудовані в Windows. Деякі з них є безкоштовними, деякі умовно-безкоштовними, а деякі є комерційними програмами. Багато з них імітують функції і особливості Unix-фільтрів. Деякі програми-фільтри мають графічний інтерфейс (GUI), що дозволяє користувачами створювати індивідуальні фільтри, які підходять для їхньої спеціальної обробки даних та/або добування даних. WindowsКомандний рядок Windows успадкував команди MS-DOS, деякі поліпшив і кілька додав. Наприклад, Windows Server 2003 має шість консольних програм-фільтрів для модифікування Active Directory, які можуть з'єднуватись за допомогою конвеєра: DSAdd, DSGet, DSMod, DSMove, DSRm and DSQuery.[3] Windows PowerShell додає весь набір фільтрів, відомих як «командлети» які можуть бути з'єднані між собою через конвеєр, окрім кількох простих, наприклад Get-ChildItem C:\Windows | ForEach-Object { $_.length } | Sort-Object -Descending
Виноски
Див. також
|
Portal di Ensiklopedia Dunia