Введение

Стандартная утилита UNIX

В информатике, tee — это команда в интерпретаторах командной строки (оболочках), использующая стандартные потоки, которая читает стандартный ввод и одновременно записывает его в стандартный вывод и один или несколько файлов, фактически дублируя ввод. Она в основном используется совместно с конвейерами и фильтрами. Команда названа по аналогии с Т-образным соединителем, используемым в сантехнике.

Обзор

Команда tee обычно используется для разделения вывода программы, позволяя одновременно отображать его на экране и сохранять в файл. Эту команду можно использовать для перехвата промежуточных результатов работы до того, как данные будут изменены другой командой или программой. Команда tee читает данные из стандартного ввода и затем выводит их на стандартный вывод, одновременно копируя в указанные файлы или переменные. Синтаксис команды может различаться в зависимости от реализации.

Реализация

Команда доступна для Unix и Unix-подобных операционных систем, Microware OS 9, DOS (например, 4DOS, FreeDOS), Microsoft Windows (например, 4NT, Windows PowerShell) и ReactOS. Команда Linux tee была разработана Майком Паркером, Ричардом Столлманом и Дэвидом Маккензи. Для Microsoft Windows команда доступна как отдельный пакет в составе коллекции UnxUtils, представляющей собой нативные порты Win32 для распространенных Unix-подобных утилит GNU. Версия для FreeDOS была разработана Джимом Холлом и распространяется под лицензией GPL. Команда также была портирована на операционную систему IBM i. Кроме того, команда sponge предоставляет схожие возможности.

4DOS и 4NT

Этот пример ищет в файле wikipedia.txt все строки, содержащие строку "4DOS", копирует найденные строки в файл 4DOS.txt, сортирует их и записывает результат в файл 4DOSsorted.txt:

>find "4DOS" wikipedia.txt | tee 4DOS.txt | sort > 4DOSsorted.txt