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

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

Программирование на языке 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 Программирование

BASH Программирование

BASH Программирование

О КУРСЕ

Этот курс предназначен для пользователей систем *NIX, которые используют эти системы на регулярной основе. Материал этого курса и материал лабораторных работ спроектированы с учетом того, что слушатели в будущем будут выполнять функции системных администраторов и/или администраторов сети.

В этом курсе содержится множество примеров, которые призваны помочь слушателям получить более глубокие знания и умения, а также проверить эти знания на практике. Примеры представляют собой небольшие, функционально законченные фрагменты кода shell-сценариев и сценариев с использованием awk. Примеры являются неотъемлемой частью материала курса и используются как базовые шаблоны формирования первичных навыков разработки сценариев. Каждый модуль завершается лабораторной работой. Лабораторные работы являются небольшими исследованиями, которые слушатели должны выполнить самостоятельно.

АУДИТОРИЯ

Курс адресован в первую очередь «продвинутым» пользователям, действующим и будущим администраторам *NIX систем, а также всем тем, кто использует в своей работе оболочки *NIX.

ТРЕБОВАНИЯ К СЛУШАТЕЛЯМ

Слушатели должны иметь знания в объеме курса «Основы работы в среде UNIX» или аналогичного ему. Предварительных знаний по программированию в среде Shell не требуется.

Желателен опыт администрирования операционных систем *NIX.

ПО ОКОНЧАНИИ КУРСА

Слушатели будут  способны:

  • Создавать, редактировать и тестировать сценарии.
  • Использовать переменные окружения и специальные символы shell.
  • Использовать переменную «статус возврата».
  • Обрабатывать аргументы командной строки.
  • Управлять сообщениями об ошибках и других исключительных ситуациях.
  • Использовать логические конструкции и конструкции циклов.
  • Использовать целочисленную арифметику.
  • Обрабатывать сигналы к процессам.
  • Использовать регулярные выражения (утилиты grepsed, и awk).
  • Создавать небольшие сценарии sed  для не интерактивного редактирования текста.
  • Создавать сценарии awk.
ПРОГРАММА КУРСА

Модуль 1 — Введение в Shell программирование

  • Процесс создания сценария для shell.
  • Процесс обработки команд оболочкой shell.
  • Как shell выполняет команды.
  • Как некоторые установки среды выполнения влияют на исполнение сценария.
  • Как подготовить файл для выполнения его в качестве сценария shell.
  • Обзор основных свойств интерпретатора BASH.

Модуль 2 — Сценарии Shell

  • Общая структура сценария.
  • Как специфицировать имя интерпретатора, который будет использоваться для обработки команд тела сценария.
  • Как создавать и выполнять простые сценарии shell.
  • Комментарии в сценариях.
  • Как правильно завершить сценарий.

Модуль 3 — Переменные

  • Как создавать переменные shell.
  • Как создать и использовать переменные в теле сценария.
  • Как пометить переменные для экспортирования в порождаемый процесс.
  • Как получить значение переменной.
  • Как использовать конкатенацию переменных и операции с подстроками.
  • Как использовать «срезы» строк

Модуль 4 — Ввод данных

  • Как присвоить значения переменным с помощью команды read.
  • Как получить доступ к параметрам командной строки.
  • Как проверить параметры на содержимое (на значения).
  • Как установить умолчания для переменных.
  • Как использовать встроенные переменные shell имеющие отношения к параметрам командной строки.

Модуль 5 — Проектирование вывода сценария

  • Как использовать команды typesetdeclare
  • Как управлять выводом с помощью кавычек.
  • Как использовать основные возможности терминала.
  • Как использовать команду 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.
  • Как модифицировать разделители входного и выходного потоков и использованием FSRSOFS и 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 для программистов — Python 2

Программирование на языке 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 — Программирование

POSIX Shell — Программирование

POSIX Shell — Программирование

О КУРСЕ

Этот курс предназначен для пользователей систем *NIX, которые используют эти системы на регулярной основе. Материал этого курса и материал лабораторных работ построены с учетом того, что слушатели в будущем будут выполнять функции системных администраторов или администраторов сети.

В этом курсе содержится множество примеров, которые призваны помочь слушателям получить более глубоки знания и умения, а также проверить эти знания на практике. Примеры представляют собой небольшие упражнения по написанию shell-сценариев и сценариев с использованием awk. Примеры являются неотъемлемой частью лекционного материала и приедены не в ознакомительных целях, а в качестве упражнений, которые должны выполнять слушатели. Каждый модуль завершается лабораторной работой. Лабораторные работы являются небольшими исследованиями, которые слушатели должны выполнить самостоятельно.

АУДИТОРИЯ

Курс адресован в первую очередь «продвинутым» пользователям, действующим и будущим администраторам *NIX систем, а также всем, кто использует в своей работе оболочки *NIX (ksh,  bash, dash, ash, posix и т.д.)

ПО ОКОНЧАНИИ КУРСА

Слушатели будут  способны:

  • Создавать, редактировать и тестировать сценарии.
  • Использовать переменные окружения и специальные символы shell.
  • Использовать регулярные выражения (утилиты grepsed, и 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.
  • Как модифицировать разделители входного и выходного потоков и использованием FSRSOFS и 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.