"Рас Сэйдж. Приемы профессиональной работы в UNIX" - читать интересную книгу автора16 exit 1;;
17 esac 19 done 21 case $# in 22 0) echo "$O: argument error" >&2 23 echo "usage: $O [-c|-h] string [dir ...]" >&2 24 exit 2 25 ;; 26 1) while read FILE 27 do 28 grep -y "$1" $FILE /dev/nul 29 done 30 ;; 31 *) STRING=$1; shift 32 eval find "$@" -type f $OPT -print | sort | while read FILE 33 do 34 grep -y "$STRING" $FILE /dev/null 35 done 36 ;; 37 esac ПЕРЕМЕННЫЕ СРЕДЫ ВЫПОЛНЕНИЯ OPT Содержит специальные опции команды find STRING Временная переменная, в которой содержится строка поиска ОПИСАНИЕ ЗАЧЕМ НАМ НУЖЕН КОМАНДНЫЙ ФАЙЛ tgrep? Как мы могли видеть на примере двух предыдущих утилит, рекурсив- ный просмотр файлов очень полезен. Он сохраняет время, поскольку поз- воляет избежать поиска файлов вручную, а также создает средства, кото- рые могут быть использованы в более мощных утилитах. Чем больше име- ется созданных нами средств, тем больше новых средств мы можем постро- ить с их помощью. Единственная проблема заключается в том, что вы должны позаботиться об их взаимозависимости (каким утилитам или средствам требуются другие утилиты или средства и кто на кого влияет). Еще одна область, где UNIX не имеет "родной" рекурсивной команды - это обработка строк. Семейство команд типа grep очень велико, но все они работают только по одному фиксированному маршрутному имени файла. Нам необходим препроцессор для команды grep. Правда, мы можем дать запрос на все файлы во всей системе или какой-либо ее части по нашему выбору. Если мы попытаемся сделать это вручную, то это означает, что мы должны много раз нажимать на клавиши, что может привести к син- таксической ошибке. Вы также должны точно помнить, как вы создавали |
|
|