3 Текстовые редакторы и утилиты (nano, vim, sed, awk)
3.1 Рекомендуемая литература
- Лекция №1
- How Linux Works, в основном глава 2.
- Интерактивный учебник по регулярным выражениям
- Учебник по Vim
3.2 Цели и задачи
Цель - освоить методы работы с текстом в терминале
Задачи:
- Решить задачи из интерактивного учебника по vim
- Ответить на вопросы по содержимому файлов с использованием специализированных программ.
3.3 Задание
3.3.1 Работа с vim
- Установить vim и vimtutor
- Выполнить все уроки из первых четырёх разделов vimtutor. Показать преподавателю и ответить на вопросы. Это задание не нужно отражать в отчёте.
3.3.2 Работа с текстовыми утилитами
Файлы для выполнения заданий скачайте по ссылке.
3.3.2.1 grep
Воспользовавшись программой grep ответьте на следующие вопросы о файле example_log.txt
- Сколько в нем записей об обшибках и предупреждениях
- На какое время запланирована перезагрузка?
- Какие в файле соержаться сообщения об ошибках (нужны только они, без сопутствующей информации в скобках и времени возникновения)?
- Найдите записи за 24 октября 2023 года
- Найти все IP-адреса в логах (только вывод IP) - IP адрес, грубо говоря, это последовательность из 4 чисел, разделенных точкой.
3.3.2.2 sed
Воспользовавшись программой sed отредактируйте файл poem.txt
Удалить все строки с разделителями
*** Глава N ***:Изменить формат дат с
DD/MM/YYYYнаYYYY-MM-DD:Добавить
[EDIT]в начало строк, содержащих слово “дата”:Удалить даты в формате
YYYY-MM-DD:Заменить все вхождения “ветер” на “ВЕТЕР” (регистрозависимо):
3.3.2.3 awk
Воспользовавшись программой awk ответьте на вопросы по файлу titanic.csv. Это знаменитый датасет о пассажирах Титаника. Информацию о нём вы можете найти здесь.
Какой средний возраст женщин в таблице?
Выведите все нечетные строки
Сколько выживших мужчин было в первом и третьем классе?
Замените в первую колонку на колонку с именами пассажиров.
3.4 Вопросы для защиты
- Использование vim
- Регулярные выражения. Синтаксис
- Возможности grep
- Возможности sed
- Возможности awk
- Пайплайны в командной строке.