"Рас Сэйдж. Приемы профессиональной работы в UNIX" - читать интересную книгу автора

2 # @(#) thead v1.0 Prints head of files in tree Author: Russ Sage
2а Печатает заголовки файлов в дереве

4 if [ "`echo $1|cut -c1`" = "-" ]
5 then echo "$0: arg error"
6 echo "usage: $0 [dir ...]"
7 exit 1
8 fi

10 case $# in
11 0) while read FILE
12 do
13 if file $FILE | fgrep text >/dev/null 2>&1
14 then echo "\n:::::::::::::::::::::"
15 echo " $FILE"
16 echo "\n:::::::::::::::::::::"
17 head -15 $FILE
18 fi
19 done;;
20 *) for NAME in $*
21 do
22 find $NAME -type f -print | sort | wile read FILE
23 do
24 if file $FILE | fgrep text >/dev/null 2>&1
25 then echo "\n:::::::::::::::::::::"
26 echo " $FILE"
27 echo "\n:::::::::::::::::::::"
28 head -15 $FILE
29 fi
30 done
31 done;;
32 esac

ПЕРЕМЕННЫЕ СРЕДЫ ВЫПОЛНЕНИЯ

FILE Содержит имя каждого файла
NAME Имя каталога, заданное в командной строке

ОПИСАНИЕ

ЗАЧЕМ НУЖЕН КОМАНДНЫЙ ФАЙЛ thead?

Как уже объяснялось ранее в этой главе, иерархическая файловая
система является очень значительной частью системы UNIX. Однако, толь-
ко несколько команд в UNIX имеют дело непосредственно с рекурсивным
поиском файлов. Единственный способ расширить возможности системы -
создать новые рекурсивные утилиты, работающие с файлами. В данном слу-
чае мы соединим нашу стратегию поиска по дереву с командой head систе-
мы UNIX для упрощения идентификации содержимого всех файлов в выделен-
ном сегменте файлового дерева.