Задания можно реализовывать на Python или Go. Для обработки аргументов командной строки использовать пакет argparse (для Python) или flag (для Go).
1. Реализовать калькулятор подсетей subnet_calculator.py (наподобие https://www.calculator.net/ip-subnet-calculator.html), который принимает IP адрес и маску в формате CIDR (например, /27) как аргументы командной строки и выводит в консоль: - адрес подсети - маску подсети - IP адреса первого и последнего хостов - широковещательный адрес - класс подсети
Адрес подсети: 192.168.10.0 Маска подсети: 255.255.255.0 IP адрес первого хоста: 192.168.10.1 IP адрес последнего хоста: 192.168.10.254 Широковещательный адрес: 192.168.10.255 Класс подсети: C
2. (**) Создать скрипт filter.py, который считывает файл переданный через аргумент -f или же из стандартного потока ввода и выводит в стандартный поток вывода строки содержащие токен (или любой из токенов, если их было передано несколько) по заданному правилу. Для выполнения фильтрации использовать регулярные выражения.
Дедлайн: 08/05/2024
Задания можно реализовывать на Python или Go. Для обработки аргументов командной строки использовать пакет
argparse
(для Python) илиflag
(для Go).1. Реализовать калькулятор подсетей
subnet_calculator.py
(наподобие https://www.calculator.net/ip-subnet-calculator.html), который принимает IP адрес и маску в формате CIDR (например,/27
) как аргументы командной строки и выводит в консоль:- адрес подсети
- маску подсети
- IP адреса первого и последнего хостов
- широковещательный адрес
- класс подсети
Описание аргументов командной строки скрипта:
./subnet_calculator.py --ip <ID_ADDRESS> --cidr-mask <CIDR_MASK>
Пример использования скрипта:
2. (**) Создать скрипт
filter.py
, который считывает файл переданный через аргумент-f
или же из стандартного потока ввода и выводит в стандартный поток вывода строки содержащие токен (или любой из токенов, если их было передано несколько) по заданному правилу. Для выполнения фильтрации использовать регулярные выражения.Описание аргументов командной строки скрипта:
./filter.py [-f <FILE>] {contains|startswith|endswith} <TOKEN> ...
Пример использования скрипта:
** не обязательны к выполнению. Задачи на интерес_