"Рас Сэйдж. Приемы профессиональной работы в UNIX" - читать интересную книгу автора Иногда у нас, возможно, будет возникать желание просмотреть файлы
в более чем одном каталоге. В больших проектах разработки программного обеспечения файлы обычно создаются в нескольких иерархических катало- гах. Thead может работать со множеством путей доступа и выводить заго- ловки (несколько первых строк файлов) в виде непрерывного потока. ЧТО ДЕЛАЕТ thead? Thead - это препроцессорная команда к команде head системы UNIX. Команда head очень примитивна, но, добавляя к ней управляющую структу- ру и логику, мы можем создать очень полезное инструментальное средство, которого нет в стандартной среде UNIX. Например, мы захотели просмотреть заголовки всех текстовых файлов в нашем регистрационном каталоге. Если у нас имеется большое число подкаталогов, нам необходимо все их пройти и просмотреть все файлы, содержащиеся в них. Мы можем сделать это с помощью команды $ thead $HOME Если мы хотим просмотреть только исходные файлы на языке Си (*.c), то представленный выше синтаксис не годится для этого. Он не обладает достаточной гибкостью. Нам необходимо иметь способ указать (или квалифицировать) файлы в $HOME перед тем, как просматривать их. Так как команда thead может воспринимать полные имена файлов, мы можем использовать следующую команду: $ find $HOME -name "*.c" -print | sort | thead Команда find генерирует список файлов с расширением C, который сортируется и подается по каналу на вход команде thead. Как видно из представленных двух примеров, весьма полезной для командного файла является возможность получать входные данные либо из аргументов командной строки (как в первом примере), либо по программ- ному каналу (как во втором примере). Способность использовать прог- раммный канал позволяет вам применять какие-либо другие команды систе- мы UNIX, которые могут отбирать входные данные для вашего командного файла. Команда с такой двойной возможностью называется ФИЛЬТРОМ. Среди стандартных команд системы UNIX вы найдете лишь несколько команд-филь- тров, таких как wc, awk, sort. Эти два способа поступления входных данных в программы делают ин- терфейс с командными файлами очень гибким. Мы можем подстраивать прог- рамные средства под наши нужды, а не подстраивать наши желания под имеющееся программное обеспечение. Аргументами для команды thead являются каталоги. Никаких опций, начинающихся со знака "-" нет, только каталог или полные имена файлов. Команда thead знает из синтаксиса, какой способ запуска команды будет использоваться. Если командная строка содержит имя файла, thead просмотрит все позиционные параметры. Если никакие имена не указаны, thead читает стандартный ввод (stdin) и останавливается, когда встре- чает EOF. (Такое бывает в случае, когда команда thead получает входные |
|
|