Превращайте необработанный текст из командной строки в полезные и воспроизводимые результаты с помощью двух мощных инструментов Linux. Этот практический курс формирует ясное понимание sed как потокового редактора и awk как языка обработки полей, чтобы вы выбирали подходящий инструмент, а не собирали хрупкие одноразовые команды.
Вы будете работать с образцами текста, данными в формате CSV, /etc/passwd и журналами веб-сервера. Короткие пошаговые упражнения приведут к итоговому заданию по созданию системного отчёта: очистить записи журнала, извлечь коды состояния HTTP, подсчитать ответы 404, вычислить долю ошибок и сформировать краткий отчёт.
Чему вы научитесь
- Заменять первое или все совпадения с помощью команд подстановки
sed - Выбирать читаемые разделители и редактировать файлы на месте с сохранением резервной копии
- Удалять, вставлять и выборочно выводить строки с помощью адресов и команд
sed - Извлекать поля с помощью
awk, включая собственные разделители и последнее поле через$NF - Фильтровать записи по числовым условиям или текстовым шаблонам и нумеровать вывод с помощью
NR - Структурировать обработку
awkс помощьюBEGIN, логики для каждой записи, переменных иEND - Суммировать значения, вести условный подсчёт, вычислять проценты и форматировать отчёт
Для кого этот курс
Этот курс среднего уровня предназначен для пользователей Linux, системных администраторов, изучающих DevOps и разработчиков, которым нужно анализировать и преобразовывать структурированный текст без написания более крупной программы. Он особенно полезен тем, кто регулярно работает с журналами, выводом команд, файлами с разделителями или простыми эксплуатационными отчётами.
Предварительные требования: Базовое знакомство с терминалом Linux, файлами и каталогами, конвейерами и перенаправлением вывода. Предыдущий опыт работы с sed или awk не требуется.
Учебная среда: Терминал Linux в LabEx с подготовленными текстовыми файлами, данными учётных записей, данными в формате CSV и веб-журналами.
Часто задаваемые вопросы
Когда использовать sed, а когда awk?
Используйте sed, если основная задача — изменить, удалить, вставить или выбрать строки текстового потока. Используйте awk, если нужно разбить записи на поля, применить условия, вести счётчики или суммы и собрать отчёт. В итоговом задании оба инструмента применяются последовательно.
Будут ли упражнения изменять реальные системные данные?
Нет. Курс читает /etc/passwd для практики извлечения полей, но не изменяет этот файл. Операции редактирования выполняются с подготовленными файлами проекта, а лабораторная работа по подстановке показывает как предварительный просмотр без изменений, так и sed -i.bak, сохраняющий копию исходного файла.
Что я создам в итоговом задании?
Вы преобразуете образец журнала веб-сервера с кавычками в несколько проверяемых результатов: очищенный журнал, список кодов состояния, количество ответов 404, файл с долей ошибок и однострочную сводку вида Total: 8, 404: 2, Rate: 25%.





