Главная страница

Лабораторная работа по операционным системам. ЛР №2. Лабораторная работа по дисциплине Вычислительные машины, системы и сети Студент гр


Скачать 25.11 Kb.
НазваниеЛабораторная работа по дисциплине Вычислительные машины, системы и сети Студент гр
АнкорЛабораторная работа по операционным системам
Дата26.09.2022
Размер25.11 Kb.
Формат файлаdocx
Имя файлаЛР №2.docx
ТипЛабораторная работа
#698779

Министерство науки и высшего образования Российской Федерации

Федеральное государственное бюджетное образовательное

учреждение высшего образования

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ

УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)

Кафедра компьютерных систем в управлении и проектировании

(КСУП)


УПРАВЛЯЮЩИЕ ОПЕРАТОРЫ КОМАНДНОГО ЯЗЫКА

Лабораторная работа по дисциплине

«Вычислительные машины, системы и сети»





Выполнил:

Студент гр

(номер группы)

_______________ /_

(подпись) И. О. Фамилия

«___»__________20__г.

(дата)



Проверил:

______________________________

(должность, ученая степень, звание)

______________ /____________________/

(подпись) И. О. Фамилия

«____»_______________20____г.

(дата)

Томск 20 г.

Задание
Требуется разработать программу на языке shell (без использования

команды find), выполняющую поиск в заданном поддереве файловой струк-

туры всех файлов, имена которых отвечают заданному шаблону. Результатом

работы программы является перечень имен искомых файлов на экране.
Примечание. Программа состоит из двух скриптов. Главный скрипт выполняет вывод на экран приглашения ввести с клавиатуры имя-путь начального каталога и шаблон поиска. Далее он выполняет ввод этих данных с клавиатуры и выводит на экран перечень искомых файлов в начальном каталоге поиска (если они там есть). Затем он вызывает для каждого подкаталога вложенный скрипт, передав ему два входных параметра: 1) относительное имя подкаталога; 2) шаблон поиска.
Вложенный скрипт выполняет поиск в заданном каталоге искомых файлов, а для каждого подкаталога вызывает точно такой же скрипт. (При выполнении любого скрипта запускается новый экземпляр shell, поэтому рекурсивное выполнение скриптов не приводит к каким-либо трудностям.)

Решение
Главный скрипт search_1.sh:
echo Введите каталог и шаблон через пробел

read dir pattern

#Вызываем вложенный скрипт

sh {$HOME}/search_2.sh "$dir" "$pattern"
Вложенный скрипт search_2.sh:
cd $1

ls $1 >tmp

for name in tmp

do

    if [ -d $name ]

    then

        $0 $name $2       

    else

        case $name in

             $2) echo $name;;

        esac

    fi

done

Литература


  1. Коцубинский В.П. Операционные системы: учебно-методическое пособие./ Коцубинский В.П., Изюмов А.А. – Томск: ТУСУР, 2016. – 244 с


написать администратору сайта