Программирование в Linux — различия между версиями
George (обсуждение | вклад) м (→Материалы) |
George (обсуждение | вклад) (→Задание 1) |
||
Строка 18: | Строка 18: | ||
Написать скрипт, печатающий контур Российской Федерации в стандартный поток вывода терминального окна. Использовать псевдографику, доступную в кодировке ASCII. Размеры терминального окна считать стандартными. | Написать скрипт, печатающий контур Российской Федерации в стандартный поток вывода терминального окна. Использовать псевдографику, доступную в кодировке ASCII. Размеры терминального окна считать стандартными. | ||
+ | |||
+ | Вариант 4. | ||
+ | |||
+ | Дан текстовый поток, где каждая строчка содержит два числа, разделённых пробелом. Написать скрипт на основе команды '''awk''', обрабатывающий этот поток и выводящий суммы чисел в строках. | ||
==== Задание 2 ==== | ==== Задание 2 ==== |
Версия 16:03, 1 декабря 2018
Здесь будут размещены материалы курса
Содержание
Bash-скрипты
Задание 0
Написать скрипт, генерирующий пароль (случайный набор символов) заданной длины. Минимальный набор разрешённых символов: буквы латинского алфавита, цифры.
Задание 1
Вариант 1.
Дан текстовый файл,содержащий лог компилятора g++ с описанием ошибок и предупреждений, выданных при компиляции. Написать скрипт, читающий данный текстовый файл и выводящий сообщения об ошибках в формате "Error in the file %имя файла%: line #%номер строки%, symbol #%номер столбца%".
Вариант 2.
Написать скрипт, принимающий в качестве аргумента адрес веб-страницы, сохраняющий выдачу этой страницы и выводящий в текстовый файл адреса всех картинок, указанных на странице в html-тегах <img>.
Вариант 3.
Написать скрипт, печатающий контур Российской Федерации в стандартный поток вывода терминального окна. Использовать псевдографику, доступную в кодировке ASCII. Размеры терминального окна считать стандартными.
Вариант 4.
Дан текстовый поток, где каждая строчка содержит два числа, разделённых пробелом. Написать скрипт на основе команды awk, обрабатывающий этот поток и выводящий суммы чисел в строках.
Задание 2
Написать скрипт, принимающий 3 опциональных аргумента и производящий в соответсвии с указанными параметрами компиляцию исходного кода на Си++. Дополнительно указываются флаги -pedantic -std=c++11. Список аргументов:
- Режим компиляции: release или debug. В режиме release дополнительно указываются флаги -w -O3. В режиме debug дополнительно указываются флаги -Wall -Weffc++ -g -O0. По умолчанию: release.
- Имя выходного файла. По умолчанию app.out.
- Имя компилятора. По умолчанию g++.
Задание 3
Написать скрипт, принимающий в качестве аргументов названия двух файлов. Используя команду diff, скрипт должен выводить количество изменений, которые нужно сделать для получения из первого файла второй.
Литература
- Тейнсли Д. Linux и Unix: программирование в shell: Киев: BHV, 2001. (3 экз.)
- Advanced Bash-Scripting Guide by Mendel Cooper
- Садов О. Л. Основы ОС Linux/UNIX для пользователей
- Открытые книги по Unix