Цель работы
Изучить средства управления процессами и утилиты работы с текстом.
at | bg | cmp | comm | compress | cron | cut | diff |
exec | exit | expand | fg | grep | head | jobs | join |
kill | nl | od | paste | pr | ps | sleep | sort |
split | tail | trap | tr | tsort | uniq | wait | wc |
Описание работы
Используя справочные материалы по указанным командам, средства перенаправления ввода-вывода, группировки команд и условного выполнения, реализуйте сценарии shell, позволяющие:
# | Задание | Команды |
---|---|---|
1 | Сценарий bashps.sh. Вывести сведения обо всех процессах, являющихся экземплярами командного интерпретатора bash (в командной строке которых встречается bash) в формате PID_процесса командная_строка | ps, cut, paste |
2 | Сценарий biextract.sh. Для заданного первым параметром html-файла вывести текст, выделенный курсивом или полужирным шрифтом (из тэгов <b>, <i>), предполагая, что документ удовлетворяет стандарту разметки, и, кроме того, тэги <b>, <i> не вкладываются, не включают других тэгов и не распространяются на несколько строк. | cat, grep, cut |
3 | Сценарий findwrapper.sh. Выполнить поиск файла заданного по имени первым позиционным параметром от корневого каталога. Сценарий должен обрабатывать нажатие Ctrl-C — вывести, в скольки различных файлах были обнаружены заданные файлы к моменту прерывания. | grep, wc, cat, trap, find, sort |
Критерии оценки работы
Сценарии должны быть снабжены вводным комментарием (можно ориентироваться на приведенный ниже пример), текст сценария должен быть подробно откомментирован.
#!/bin/bash ########################################################################### # Сценарий : dtox - преобразование текстового файла DOS к станданру UNIX # Автор : Хайнер Стивен # Версия : 1.1 # Дата : 2002.02.26 ########################################################################### # Описание # Заменяет последовательности "CR LF" признаком конца строки "LF" # Замечания # Не преобразует символ конца файла DOS CTRL-Z (ASCII 26). ###########################################################################
Каждое из заданий может быть оценено в 0 (задание не выполнено, результат не сооветствует требованиям задания или налицо плагиат работы — автор не понимает собственного решения), 2 (задание выполнено, но присутствует не предусмотренный требованиями вывод на экран, задание выполнено не до конца) или 3 балла за задания 1-2 и 4 балла за задание 3 (задание выполнено полностью). Таким образом, всего за работу можно получить до 10 баллов
Возможные штрафы приведены в таблице. Всего можно получить до 10 штрафных баллов.
# | Описание | Штраф |
---|---|---|
1 | Отсутствие заголовочного комментария, несоответствие заголовочного комментария общепринятым соглашениям | 0 - 2 |
2 | Отсутствие пояснительных комментариев, комментирование самоочевидных конструкций (дублирование кода, а не пояснение смысла) | 0 - 2 |
3 | Присутствует дополнительный вывод, не предусмотренный требованиями (например, диагностические сообщения shell и использованных команд) | 0 - 1 |
4 | Неверно устанавливается статус завершения сценария | 0 - 1 |
5 | Неструктурированный код, непоследовательность в стиле | 0 - 2 |
6 | Возможны (достаточно маловероятные) условия, при которых сценарий будет работать некорректно, не предусмотренные требованиями. | 0 - 2 |
Итоговая оценка определяется суммой баллов. Работа, оцененная менее чем на 0 баллов не засчитывается.