Программирование на языке Python 1

ОПИСАНИЕ
Этот пятидневный курс адресован всем тем, кто хочет научиться программировать с использованием языка программирования Python.
АУДИТОРИЯ
Курс предназначен для широкого круга программистов и администраторов ОС.
По окончании
После успешного усвоения материала этого курса слушатели будут способны:
- интерпретировать программирование для компьютера в терминах Python;
- работать с файловой системой;
- обрабатывать содержимое файлов и баз данных;
- работать со стандартными сетевыми службами;
- использовать регулярные выражения и запросы SQL;
- выполнять отладку программ.
ПРОГРАММА
Введение
- Архитектура компьютера
- Понимание программирования
- Слова и фразы
- Терминология: интерпретатор и компилятор
- Написание программ
- Что такое программа?
- Построение частей программ
- Упражнения
Модуль 1: Переменные, выражения и инструкции
- Значения и типы
- Переменные
- Имена переменных и ключевые слова
- Операторы
- Операторы и операнды
- Выражения
- Порядок операций
- Модульные операторы
- Строковые операции
- Ввод входных данных
- Комментарии
- Упражнения
Модуль 2: Управление потоком исполнения
- Логические выражения
- Логические операторы
- Условное исполнение
- Альтернативное исполнение
- Последовательность условий
- Вложенные условия
- Перехват исключений с использованием try и except
- Упражнения
Модуль 3: Функции
- Вызов функции
- Встроенные функции
- Функции, преобразующие типы
- Случайные числа
- Математические функции
- Добавление новых функций
- Определение и использование
- Поток исполнения
- Параметры и аргументы
- Fruitful-функции и void-функции
- Применение функций
- Упражнения
Модуль 4: Циклы
- Обновление переменной
- Инструкция while
- Бесконечные циклы
- «Бесконечные циклы» и break
- Завершение итерации с помощью continue
- Определение циклов с помощью for
- Шаблоны цикла
- Упражнения
Модуль 5: Строки
- Строка как последовательность
- Получение длины строки с использованием len
- Обход через строку с помощью цикла
- Срез строки
- Строки являются неизменяемыми
- Циклы и счет
- Оператор in
- Сравнение строк
- Строковые методы
- Разбор (parsing) строк
- Оператор форматирования
- Упражнения
Кейс. Обработка текстов
- Чтение списков слов
- Поиск
- Циклы с индексами
- Упражнения
Модуль 6: Файлы
- Необходимое введение
- Открытие файлов
- Текстовый файл и строки
- Чтение из файлов
- Поиск через файл
- Выбор имени файла
- Запись в файлы
- Упражнения
Модуль 7: Списки
- Список как последовательность
- Изменение списков
- Обход списка
- Операторы списка
- Срез списка
- Методы списков
- Удаление элементов
- Списки и функции
- Списки и строки
- Разбор списков
- Объекты и значения
- Синонимичность
- Список аргументов
- Упражнения
Модуль 8: Словари
- Словарь как набор счетчиков
- Словари и файлы
- Циклы и словари
- Расширенный разбор текста
- Упражнения
Модуль 9: Кортежи
- Кортежи не изменяемы
- Сравнение кортежей
- Назначение кортежей
- Словари и кортежи
- Использование кортежей как ключей словарей
- Строки, списки и кортежи – последовательности
- Упражнения
Кейс. Выбор диапазона значений из структуры данных
- Частотный словарь
- Случайные числа
- Гистограммы слов
- Самые распространенные слова
- Опциональные параметры
- Вычитание словарей
- Случайные слова
- Анализ Маркова
- Структуры данных
- Упражнения
Модуль 10: Регулярные выражения
- Специальные символы в регулярных выражениях
- Извлечение данных с использованием регулярных выражений
- Объединение поиска и извлечения
- Эскейп-последовательности
- Расширенные возможности в среде *NIX
- Упражнения
Модуль 11: Работа с базами данных и использование SQL
- Что такое база данных?
- Концепция базы данных
- SQLite менеджер и Firefox дополнения
- Создание таблицы базы данных
- Обзор Structured Query Language (SQL)
- Спайдеринг Twitter с помощью базы данных
- Моделирование данных
- Программирование с использованием нескольких таблиц
- Три типа ключей
- Извлечение данных с помощью JOIN
- Упражнения
Кейс. Tkinter
- GUI (графический интерфейс)
- Кнопки и обратные вызовы
- Виджет canvas
- Последовательность из координат
- Упаковка виджетов
- Меню и объект Callable
- Связь
- Упражнения
Модуль 12: Автоматизация повседневных задач
- Имена файлов и пути
- Аргументы командной строки
- «Трубопроводы»
- Упражнения
BASH Программирование

О КУРСЕ
Этот курс предназначен для пользователей систем *NIX, которые используют эти системы на регулярной основе. Материал этого курса и материал лабораторных работ спроектированы с учетом того, что слушатели в будущем будут выполнять функции системных администраторов и/или администраторов сети.
В этом курсе содержится множество примеров, которые призваны помочь слушателям получить более глубокие знания и умения, а также проверить эти знания на практике. Примеры представляют собой небольшие, функционально законченные фрагменты кода shell-сценариев и сценариев с использованием awk. Примеры являются неотъемлемой частью материала курса и используются как базовые шаблоны формирования первичных навыков разработки сценариев. Каждый модуль завершается лабораторной работой. Лабораторные работы являются небольшими исследованиями, которые слушатели должны выполнить самостоятельно.
АУДИТОРИЯ
Курс адресован в первую очередь «продвинутым» пользователям, действующим и будущим администраторам *NIX систем, а также всем тем, кто использует в своей работе оболочки *NIX.
ТРЕБОВАНИЯ К СЛУШАТЕЛЯМ
Слушатели должны иметь знания в объеме курса «Основы работы в среде UNIX» или аналогичного ему. Предварительных знаний по программированию в среде Shell не требуется.
Желателен опыт администрирования операционных систем *NIX.
ПО ОКОНЧАНИИ КУРСА
Слушатели будут способны:
- Создавать, редактировать и тестировать сценарии.
- Использовать переменные окружения и специальные символы shell.
- Использовать переменную «статус возврата».
- Обрабатывать аргументы командной строки.
- Управлять сообщениями об ошибках и других исключительных ситуациях.
- Использовать логические конструкции и конструкции циклов.
- Использовать целочисленную арифметику.
- Обрабатывать сигналы к процессам.
- Использовать регулярные выражения (утилиты grep, sed, и awk).
- Создавать небольшие сценарии sed для не интерактивного редактирования текста.
- Создавать сценарии awk.
ПРОГРАММА КУРСА
Модуль 1 — Введение в Shell программирование
- Процесс создания сценария для shell.
- Процесс обработки команд оболочкой shell.
- Как shell выполняет команды.
- Как некоторые установки среды выполнения влияют на исполнение сценария.
- Как подготовить файл для выполнения его в качестве сценария shell.
- Обзор основных свойств интерпретатора BASH.
Модуль 2 — Сценарии Shell
- Общая структура сценария.
- Как специфицировать имя интерпретатора, который будет использоваться для обработки команд тела сценария.
- Как создавать и выполнять простые сценарии shell.
- Комментарии в сценариях.
- Как правильно завершить сценарий.
Модуль 3 — Переменные
- Как создавать переменные shell.
- Как создать и использовать переменные в теле сценария.
- Как пометить переменные для экспортирования в порождаемый процесс.
- Как получить значение переменной.
- Как использовать конкатенацию переменных и операции с подстроками.
- Как использовать «срезы» строк
Модуль 4 — Ввод данных
- Как присвоить значения переменным с помощью команды read.
- Как получить доступ к параметрам командной строки.
- Как проверить параметры на содержимое (на значения).
- Как установить умолчания для переменных.
- Как использовать встроенные переменные shell имеющие отношения к параметрам командной строки.
Модуль 5 — Проектирование вывода сценария
- Как использовать команды typeset, declare
- Как управлять выводом с помощью кавычек.
- Как использовать основные возможности терминала.
- Как использовать команду tput для управления представлением на экране терминалы.
- Как управлять местоположением курсора.
- Как отключать эхопечать терминала с помощью команды stty.
Модуль 6 — Арифметика Shell
- Как декларировать переменные целого типа с помощью typedef, declare.
- Как назначать значения переменным с помощью команды let
- Как назначать значения переменным с использованием синтаксиса (( … ))
- Использование арифметических операторов.
- Как работать с целыми, имеющими разное основание системы счисления.
- Как использовать инструменты *NIX для вычисления значений выражений.
Модуль 7 — Ветвления и логические проверки
- Как вывести на экран значение статуса возврата предыдущей командной строки
- Как использовать логические операции в виде команды ((…))
- Применение команды test для оценки логических значений
- Как использовать альтернативы команды test – […] , [[…]]
- Как выполнять командную строку только когда логические состояния TRUE или FALSE
- Как применять управляющую последовательность if … then … fi.
- Как применять альтернативное ветвление elif
- Как использовать конструкции case …esac для выбора из множества альтернатив
- Как применять анализ совпадения по шаблону в конструкции case …esac
Модуль 8 — Шаблоны Shell
- Простые шаблоны Shell
- Как использовать некоторые составные шаблоны для генерации имен файлов
- Как управлять обработкой шаблонов с помощью команды shopt
- Как использовать шаблоны и регулярные выражения для поиска совпадений
Модуль 9 — Программные циклы
- Понятие «программный цикл»
- Как управлять исполнением циклов с помощью оператора while
- Как управлять исполнением циклов с помощью оператора until
- Как управлять исполнением циклов с помощью оператора for
- Как прервать выполнение цикла с помощью оператора break
- Как продолжить выполнение цикла со следующей итерации (команда continue)
- Как завершать работу сценария с помощью команды exit
- Как использовать цикл типа select для конструирования структур меню.
- Как использовать цикл «условный for»
Модуль 10 — Команда getopts
- Как использовать команду gteopts для управления опциями сценария
- Как определять опции, которые требуют указания аргумента
- Как использовать специальные переменные OPTIND и OPTARG
Модуль 11 — Массивы переменных
- Как сохранять множественные элементы в массивах переменных
- Как получать значение одного или более элементов массива
- Как получать количество элементов массива, которым присвоены значения.
- Как использовать «срезы» массивов
- Как копировать массивы
- Как использовать команду mapfile и встроенный массив MAPFILE
- Как использовать ассоциативные массивы в BASH
Модуль 12 — Функции и библиотеки функций
- Как декларировать функции shell для текущей сущности shell
- Как получать список текущих функций shell с помощью команд typeset и declare
- Как декларировать функции shell в теле файла сценария shell
- Как передать функции один или более аргументов
- Как декларировать внутренние (function-specific) переменные функции (объявления typeset и local)
- Как использовать команду return для возвращения значения в тело основного сценария
- Как использовать рекурсивный вызов функции
- Как создать файл библиотеки функций
- Как использовать эмуляцию механизма FPATH для поиска библиотек функций в BASH
Модуль 13 — Управление вводом и выводом
- Применение дескрипторов файлов (3-9) при перенаправлении ввода/вывода.
- Как перенаправлять ввод из файла данных в сценарий.
- Как перенаправлять вывод из сценария в файл данных.
- Как читать строки данных в цикле while, используя перенаправления.
- Как использовать канал («трубы») для передачи данных внутрь цикла.
- Как использовать shell-управление here («документ здесь»)
Модуль 14 — Ловушки и сигналы
- Концепция сигналов
- Значения сигналов kill
- Как интерактивно обрабатывать сигналы
- Как обрабатывать сигналы с помощью команды kill
- Как использовать команду trap для обработки сигналов
- Как использовать команду coproc для создания сопроцессов
- Как использовать дескрипторы файлов для организации взаимодействия сопроцеесов
- Как использовать «внутренние» сигналы BASH для отладки сценариев
- Как модифицировать установки терминала для посылки сигналов интерактивно.
Модуль 15 — Регулярные выражения
- Цели использования регулярных выражений
- Как использовать команды, в которых применяются регулярные выражения
- Как описывать метасимволы регулярных выражений
- Как использовать команду grep для поиска совпадений с текстовыми образцами.
Модуль 16 — Введение в awk
- Как использовать awk для вывода на печать специфицированной колонки ввода.
- Как применять совпадение по шаблону expression и условные совпадения в awk.
- Как применять команды awk, выполняемые до обработки входного потока с применением оператора BEGIN.
- Как применять команды awk, выполняемые после обработки входного потока с помощью оператора END.
- Как использовать встроенные переменные awk, такие как NF и NR.
- Как модифицировать разделители входного и выходного потоков и использованием FS, RS, OFS и ORS переменных.
- Как создавать и использовать файл программы awk.
- Как создавать и запускать на выполнение сценарий awk.
Модуль 17 — Переменные, строки и арифметические операторы
- Как создавать и использовать переменные в awk
- Как передавать переменные среды из BASH в awk
- Как использовать арифметические операторы, поддерживаемые в awk
- Как использовать функции работы со строками awk
- Как управлять форматом вывода с использованием print и printf
- Как совместно использовать awk и shell
- Как передать аргументы командной строки в awk
Модуль 18 — Управление потоком исполнения в awk
- Как использовать команду условия if
- Как использовать команду getline
- Как пользоваться командами next и exit.
- Как использовать циклы while и do-while
- Как использовать цикл for
- Как создавать и использовать одномерные и «многомерные» массивы
- Как создавать и использовать ассоциативные массивы
- Как использовать функцию split для создания массивов
- Как обрабатывать данные ассоциативных массивов с помощью цикла for
Модуль 19 — Потоковый редактор sed
- Как использовать редактор sed для выполнения подстановок заданного текста.
- Как использовать sed для удаления входных строк с использованием функции delete.
- Печатать и дублировать входные строки с использованием функции print.
- Как читать строки из другого файла в поток редактирования.
- Как записывать выходные строки в один или более файлов с помощью функции write.
- Как использовать различные функции редактирования в командной строке.
- Как создавать и использовать файл функций sed.
Программирование на языке Python для программистов — Python 2

ОПИСАНИЕ
Этот пятидневный курс адресован слушателям, которые уже имеют некоторый опыт программирования на языке Python и программистам, которые владеют навыками программирования на таких языках как С++, Java, Ruby.
Основная цель этого курса – освоение наилучших практик решения широкого спектра задач. Здесь широко используется ООП-подход.
ТРЕБОВАНИЯ К СЛУШАТЕЛЯМ
Умение работать с компьютером на уровне пользователя.
АУДИТОРИЯ
- Программисты
- Администраторы ОС
ПО ОКОНЧАНИИ
После успешного усвоения материала этого курса слушатели будут способны
- интерпретировать программирование для компьютера в терминах Python;
- работать с файловой системой;
- обрабатывать содержимое файлов и баз данных;
- работать со стандартными сетевыми службами;
- использовать регулярные выражения и запросы к базам данных;
- выполнять отладку программ.
ПРОГРАММА
Введение
- Получение и установка Python 3
Модуль 1: Быстрое введение в процедурное программирование
- Создание и запуск программ на языке Python
- Среда IDLE
- Python. Взгляд с высоты птичьего полета
- Взгляд первый: типы данных
- Взгляд второй: ссылки на объекты
- Взгляд третий: коллекции данных
- Взгляд четвертый: логические операции
- Взгляд пятый: инструкции управления потоком выполнения
- Взгляд шестой: арифметические операторы
- Взгляд седьмой: ввод/вывод
- Взгляд восьмой: создание и вызов функций
- Упражнения
Модуль 2: Типы данных
- Идентификаторы и ключевые слова
- Целочисленные типы
- Тип чисел с плавающей точкой
- Строки
- Кейс. Квадратное уравнение
- Кейс. Обработка текста. Представление данных в формате HTML
- Упражнения
Модуль 3: Типы коллекций
- Последовательности
- Множества
- Отображения
- Кейс. Обход в цикле и копирование коллекций
- Кейс. Генерация имен пользователей
- Кейс. Статистика
- Упражнения
Модуль 4: Управляющие структуры и функции
- Управляющие структуры
- Условное ветвление
- Циклы
- Обработка исключений
- Перехват и возбуждение исключений
- Собственные исключения
- Собственные функции
- Имена и строки документирования
- Распаковывание аргументов и параметров
- Доступ к переменным в глобальной области видимости
- Лямбда-функции
- Утверждения
- Кейс. Создать сайт вручную
- Упражнения
Модуль 5: Модули
- Модули и пакеты
- Обзор стандартной библиотеки языка Python
- Упражнения
Модуль 6: Объектно-ориентированное программирование
- Объектно-ориентированный подход
- Собственные классы
- Атрибуты и методы
- Наследование и полиморфизм
- Использование свойств для управления доступом к атрибутам
- Создание полных и полностью интегрированных типов данных
- Собственные классы коллекций
- Кейс. Создание классов, включающих коллекции
- Кейс. Создание классов коллекций посредством агрегирования
- Кейс. Создание классов коллекций посредством наследования
- Упражнения
Модуль 7: Работа с файлами
- Запись и чтение двоичных данных
- Консервирование с возможным сжатием
- Неформатированные двоичные данные с возможным сжатием
- Запись и синтаксический анализ текстовых файлов
- Запись текста
- Кейс. Синтаксический анализ текста
- Кейс. Синтаксический анализ текста с помощью регулярных выражений
- Запись и синтаксический анализ файлов XML
- Деревья элементов
- DOM (Document Object Model — объектная модель документа)
- Запись файла XML вручную
- Синтаксический анализ файлов XML с помощью SAX (Simple API for XML — упрощенный API для XML)
- Произвольный доступ к двоичным данным в файлах
- Универсальный класс BinaryRecordFile
- Кейс. Классы в модуле BikeStock
- Упражнения
Модуль 8: Набор кейсов
- Приемы процедурного программирования
- Ветвление с использованием словарей
- Выражения-генераторы и функции-генераторы
- Динамическое выполнение программного кода и динамическое импортирование
- Локальные и рекурсивные функции
- Декораторы функций и методов
- Аннотации функций
- Приемы объектно-ориентированного программирования
- Управление доступом к атрибутам
- Функторы
- Менеджеры контекста
- Дескрипторы
- Декораторы классов
- Абстрактные базовые классы
- Множественное наследование
- Метаклассы
- Функциональное программирование
- Частично подготовленные функции
- Кейс. Атрибуты класса со встроенной проверкой корректности
- Упражнения
Модуль 9: Процессы и потоки
- Делегирование работы процессам
- Делегирование работы потокам выполнения
- Кейс. Многопоточная программа поиска слова
- Кейс. Многопоточная программа поиска дубликатов файлов
- Упражнения
Модуль 10: Сети
- Кейс. Клиент TCP
- Кейс. Сервер TCP
- Упражнения
Модуль 11: Программирование приложений баз данных
- Базы данных DBM
- Базы данных SQL
- Упражнения
Модуль 14: Регулярные выражения
- Язык регулярных выражений в Python
- Символы и классы символов
- Квантификаторы
- Группировка и сохранение
- Проверки и флаги
- Модуль для работы с регулярными выражениями
- Упражнения
Модуль 15: Введение в программирование графического интерфейса
- Кейс. Программа в виде диалога
- Программы с главным окном
- Создание главного окна
- Создание собственного диалога
- Упражнения
POSIX Shell — Программирование

О КУРСЕ
Этот курс предназначен для пользователей систем *NIX, которые используют эти системы на регулярной основе. Материал этого курса и материал лабораторных работ построены с учетом того, что слушатели в будущем будут выполнять функции системных администраторов или администраторов сети.
В этом курсе содержится множество примеров, которые призваны помочь слушателям получить более глубоки знания и умения, а также проверить эти знания на практике. Примеры представляют собой небольшие упражнения по написанию shell-сценариев и сценариев с использованием awk. Примеры являются неотъемлемой частью лекционного материала и приедены не в ознакомительных целях, а в качестве упражнений, которые должны выполнять слушатели. Каждый модуль завершается лабораторной работой. Лабораторные работы являются небольшими исследованиями, которые слушатели должны выполнить самостоятельно.
АУДИТОРИЯ
Курс адресован в первую очередь «продвинутым» пользователям, действующим и будущим администраторам *NIX систем, а также всем, кто использует в своей работе оболочки *NIX (ksh, bash, dash, ash, posix и т.д.)
ПО ОКОНЧАНИИ КУРСА
Слушатели будут способны:
- Создавать, редактировать и тестировать сценарии.
- Использовать переменные окружения и специальные символы shell.
- Использовать регулярные выражения (утилиты grep, sed, и awk).
- Создавать сценарии sed для не интерактивного редактирования текста.
- Создавать сценарии awk.
- Использовать переменную-статус возврата.
- Обрабатывать аргументы командной строки.
- Управлять сообщениями об ошибках и других исключительных ситуациях.
- Использовать логические конструкции и конструкции циклов.
- Использовать целочисленную арифметику.
- Обрабатывать сигналы к процессам.
ПРОГРАММА КУРСА
Модуль 1 — Введение в POSIX Shell программирование
- Процесс создания сценария для POSIX shell.
- Процесс обработки команд оболочкой shell.
- Как shell выполняет команды.
- Как некоторые установки среды выполнения влияют на исполнение сценария.
- Как подготовить файл для выполнения его в качестве сценария shell.
- Обзор основных свойств интерпретатора POSIX shell.
Модуль 2 — Сценарии Shell
- Общая структура сценария.
- Как специфицировать имя интерпретатора, который будет использоваться для обработки команд тела сценария.
- Как создавать и выполнять простые сценарии shell.
- Комментарии в сценариях.
- Как правильно завершить сценарий.
Модуль 3 — Переменные
- Как создавать переменные POSIX shell.
- Как создать и использовать переменные в теле сценария.
- Как пометить переменные для экспортирования в порождаемый процесс.
- Как получить значение переменной.
- Как использовать конкатенацию переменных и подстроки.
Модуль 4 — Ввод данных
- Как присвоить значения переменным с помощью команды read.
- Как получить доступ к параметрам командной строки.
- Как проверить параметры на содержимое (на значения).
- Как установить умолчания для переменных.
- Как использовать встроенные переменные Shell имеющие отношения к параметрам командной строки.
Модуль 5 — Проектирование вывода сценария
- Атрибуты переменных, содержащих строковые данные.
- Как использовать команду typeset.
- Как управлять выводом с помощью кавычек.
- Основы использования возможностей терминала.
- Как использовать команду tput для изменения местоположения вывода на экране.
- Как управлять местоположением курсора.
- Как отключать эхопечать терминала с помощью команды stty.
Модуль 6 — Арифметика Shell
- Как декларировать переменные целого типа с помощью typedef
- Как назначать значения переменным с помощью команды let
- Как назначать значения переменным с использованием синтаксиса (( … ))
- Использование арифметических операторов.
- Как работать с целыми, имеющими разное основание системы счисления.
- Как использовать инструменты для вычисления значений выражений.
Модуль 7 — Ветвления и логические проверки
- Как вывести на экран значение статуса возврата предыдущей командной строки
- Как использовать логические операции в виде команды ((…))
- Применение команды test для оценки логических значений
- Как использовать альтернативы команды test – […] , [[…]]
- Как выполнять командную строку только когда логические состояния TRUE или FALSE
- Как применять управляющую последовательность if … then … fi.
- Как применять альтернативное ветвление elif
- Как использовать конструкции case …esac для выбора из множества альтернатив
- Как применять анализ совпадения по шаблону в конструкции case …esac
Модуль 8 — Шаблоны Shell
- Простые шаблоны Shell
- Как использовать некоторые составные шаблоны для генерации имен файлов
- Как использовать шаблоны и регулярные выражения для поиска совпадений
Модуль 9 — Программные циклы
- Понятие «программный цикл»
- Как управлять исполнением циклов с помощью оператора while
- Как управлять исполнением циклов с помощью оператора until
- Как управлять исполнением циклов с помощью оператора for
- Как прервать выполнение цикла с помощью оператора break
- Как продолжить выполнение цикла с данной точки (команда continue)
- Как завершать работу сценария с помощью команды exit
- Как использовать цикл типа select для конструирования структур меню.
Модуль 10 — Команда getopts
- Как использовать команду gteopts для управления опциями сценария
- Как определять опции, которые требуют указания аргумента
- Как использовать специальные переменные OPTIND и OPTARG
Модуль 11 — Массивы переменных
- Как сохранять множественные элементы в массивах переменных
- Как получать значение одного или более элементов массива
- Как получать количество элементов массива, которым присвоены значения.
Модуль 12 — Функции и библиотеки функций
- Как декларировать функции shell для текущей сущности shell
- Как получать список текущих функций shell с помощью команды typeset –f
- Как декларировать функции shell в теле файла сценария shell
- Как передать функции один или более аргументов
- Как декларировать внутренние (function-specific) переменные функции
- Как использовать команду return для возвращения значения в тело основного сценария
- Как использовать рекурсивный вызов функции
- Как создать файл библиотеки функций
- Как использовать переменную $FPATH для поиска библиотек функций
- Как использовать команду autoload для декларирования функций.
Модуль 13 — Управление вводом и выводом
- Применение дескрипторов файлов (3-9) при перенаправлении ввода/вывода.
- Как перенаправлять ввод из файла данных в сценарий.
- Как перенаправлять вывод из сценария в файл данных.
- Как читать строки данных в цикле while, используя перенаправления.
- Как использовать канал («трубы») для передачи данных внутрь цикла.
- Как использовать shell-управление here («документ здесь»)
Модуль 14 — Ловушки и сигналы
- Концепция сигналов
- Значения сигналов kill
- Как интерактивно обрабатывать сигналы
- Как обрабатывать сигналы с помощью команды kill
- Как использовать команду trap для обработки сигналов
- Как модифицировать установки терминала для посылки сигналов интерактивно.
Модуль 15 — Регулярные выражения
- Цели использования регулярных выражений
- Как использовать команды, в которых применяются регулярные выражения
- Как описывать метасимволы регулярных выражений
- Как использовать команду grep для поиска совпадений с текстовыми образцами.
Модуль 16 — Введение в awk
- Как использовать awk для вывода на печать специфицированной колонки ввода.
- Как применять совпадение по шаблону expression и условные совпадения в awk.
- Как применять команды awk, выполняемые до обработки входного потока с применением оператора BEGIN.
- Как применять команды awk, выполняемые после обработки входного потока с помощью оператора END.
- Как использовать встроенные переменные awk, такие как NF и NR.
- Как модифицировать разделители входного и выходного потоков и использованием FS, RS, OFS и ORS переменных.
- Как создавать и использовать файл программы awk.
- Как создавать и запускать на выполнение сценарий awk.
Модуль 17 — Переменные, строки и арифметические операторы
- Как создавать и использовать переменные в awk
- Как передавать переменные среды из POSIX Shell в awk
- Как использовать арифметические операторы, поддерживаемые в awk
- Как использовать функции работы со строками awk
- Как управлять форматом вывода с использованием print и printf
- Как совместно использовать awk и shell
- Как передать аргументы командной строки в awk
Модуль 18 — Управление потоком исполнения в awk
- Как использовать команду условия if
- Как использовать команду getline
- Как пользоваться командами next и exit.
- Как использовать циклы while и do-while
- Как использовать цикл for
- Как создавать и использовать одномерные и «многомерные» массивы
- Как создавать и использовать ассоциативные массивы
- Как использовать функцию split для создания массивов
- Как обрабатывать данные ассоциативных массивов с помощью цикла for
Модуль 19 — Потоковый редактор sed
- Как использовать редактор sed для выполнения подстановок заданного текста.
- Как использовать sed для удаления входных строк с использованием функции delete.
- Печатать и дублировать входные строки с использованием функции print.
- Как читать строки из другого файла в поток редактирования.
- Как записывать выходные строки в один или более файлов с помощью функции write.
- Как использовать различные функции редактирования в командной строке.
- Как создавать и использовать файл функций sed.
ТРЕБОВАНИЯ К СЛУШАТЕЛЯМ
Слушатели должны иметь знания в объеме курса «Основы работы в среде UNIX» или аналогичного ему. Предварительных знаний по программированию в среде Shell не требуется.
Желателен опыт администрирования операционных систем *NIX.