Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ANSWERS.doc
Скачиваний:
6
Добавлен:
01.07.2025
Размер:
833 Кб
Скачать
☆
  1. Команды-фильтры. Конвейеризация (потоковое сцепление) команд в командном интерфейсе. Перенаправление стандартного ввода-вывода в файлы и другие устройства.

Использование фильтров

Команды-фильтры дают возможность сортировать, просматривать и отбирать часть выходной информации других команд.

Команды-фильты, доступные в Microsoft Windows XP.

Команда Описание

more Отображает содержимое файла или вывода команды в одном окне командной строки за раз.

find Поиск указанных символов в файлах и выходе команды.

sort Сортировка файлов и выхода команды по алфавиту.

С помощью переназначения устройств ввода/вывода одна программа может направить свой вывод на вход другой или перехватить вывод другой программы, используя его в качестве своих входных данных. Для программ, которые используют стандартные входные и выходные устройства, операционная система позволяет:

-выводить сообщения программ не на экран (стандартный выходной поток), а в файл или на принтер (перенаправление вывода);

-читать входные данные не с клавиатуры (-), а из заранее подготовленного файла (-);

-передавать сообщения, выводимые одной программой, в качестве входных данных для другой программы (конвейеризация или композиция команд).

Для того, чтобы перенаправить текстовые сообщения, выводимые какой-либо командой, в текстовый файл, нужно использовать конструкцию

команда > имя_файла

Если при этом заданный для вывода файл уже существовал, то он перезаписывается (старое содержимое теряется), если не существовал — создается. Можно также не создавать файл заново, а дописывать информацию, выводимую командой, в конец существующего файла. Для этого команда перенаправления вывода должна быть задана так:

команда >> имя_файла

С помощью символа < можно прочитать входные данные для заданной команды не с клавиатуры, а из определенного (заранее подготовленного) файла:

команда < имя_файла

Несколько примеров перенаправления ввода/вывода.

Вывод встроенной справки для команды COPY в файл copy.txt:

COPY /? > copy.txt

Ввод новой даты из файла date.txt (DATE — это команда для просмотра и изменения системной даты): DATE < date.txt

Также имеется возможность информационные сообщения и сообщения об ошибках выводить в один и тот же файл. команда > имя_файла 2>&1

Наконец, с помощью конструкции команда1 | команда2 можно использовать сообщения, выводимые первой командой, в качестве входных данных для второй команды (конвейер команд).

Используя механизмы перенаправления ввода/вывода и конвейеризации, можно из командной строки посылать информацию на различные устройства и автоматизировать ответы на запросы, выдаваемые командами или программами, использующими стандартный ввод. Для решения таких задач подходит команда

ECHO [сообщение]

которая выводит сообщение на экран. Рассмотрим примеры использования этой команды.

Посылка символа прогона на принтер:

ECHO ^L > PRN

Удаление всех файлов в текущем каталоге без предупреждения (автоматический положительный ответ на запрос об удалении):

ECHO y | DEL *.*

Соединение по телефону из командной строки (модем связан с портом COM2):

ECHO ATDT 1(123)555-1234 > COM2

Команды MORE и SORT

Одной из наиболее часто использующихся команд, для работы с которой применяется перенаправление ввода/вывода и конвейеризация, является MORE. Она считывает стандартный ввод из конвейера или перенаправленного файла и выводит информацию частями, размер каждой из которых не больше размера экрана.

MORE [диск:][путь]имя_файла

MORE < [диск:][путь]имя_файла

имя_команды | MORE

Для поэкранного просмотра помощи команды DIR используется команда:

DIR /? | MORE

Для поэкранного просмотра текстового файла news.txt возможны следующие варианты команд:

MORE news.txt

MORE < news.txt

TYPE news.txt | MORE

Другой распространенной командой, использующей перенаправление ввода/вывода и конвейеризацию, является SORT. Эта команда работает как фильтр

SORT [/R] [/+n] [[диск1:][путь1]файл1] [> [диск2:][путь2]файл2]

или

[команда ] | SORT [/R] [/+n] [> [диск2:][путь2]файл2]

В первом случае параметр [диск1:][путь1]файл1 определяет имя файла, который нужно отсортировать. Во втором случае будут отсортированы выходные данные указанной команды. Если параметры файл1 или команда не заданы, то SORT будет считывать данные с устройства стандартного ввода.

Параметр [диск2:][путь2]файл2 задает файл, в который будет направляться сортированный вывод; если этот параметр не задан, то вывод будет направлен на устройство стандартного вывода.

По умолчанию сортировка выполняется в порядке возрастания. Ключ /R позволяет изменить порядок сортировки на обратный (от Z к A и затем от 9 до 0). Например, для поэкранного просмотра отсортированного в обратном порядке файла price.txt, нужно задать следующую команду:

SORT /R < price.txt |MORE

Ключ /+n задает сортировку в файле по символам n-го столбца. Например, /+10 означает, что сортировка должна осуществляться, начиная с 10-й позиции в каждой строке. По умолчанию файл сортируется по первому столбцу.

Использование команды find

Команда find проводит поиск заданной строки или текста в файлах. Команда Cmd.exe отображает каждую строку, которая совпадает со строкой или текстом, указанным в окне коммандной строки. Команда find может быть использована как команда-фильтр и как обычная команда Microsoft Windows XP. Дополнительные сведения об использовании команды find в качестве стандартной команды см. в разделе Find.

Чтобы использовать команду find в качестве команды-фильтра, необходимо включить символ «меньше» (<) и строку или текст, в котором требуется выполнить поиск. По умолчанию при поиске команда find учитывает регистр. Например, следующая команда будет искать строку "Pacific Rim" в файле Trade.txt:

find "Pacific Rim" < trade.txt

Выход не включает вхождение строки "pacific rim". Встречается вхождение строки "Pacific Rim" с прописными буквами.

Для сохранения результатов работы команды find (вместо отображения их в окне командной строки), введите символ «больше» (>) и имя файла, в котором требуется хранить выход. Например, следующая команда ищет строку "Pacific Rim" в файле Trade.txt с сохранением результата в файле Nwtrade.txt:

find "Pacific Rim" nwtrade.txt

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]