uniq: свернуть только соседние события журнала
Удалите подряд повторившиеся сообщения, сохранив повтор того же события после другого сообщения. Упражнение показывает границы обычной uniq.
Ситуация и цель
Датчик дважды сообщил opened, затем один раз checked, затем снова opened. Для краткой хронологии нужно свернуть лишь соседний повтор. Последнее открытие относится к другому этапу и должно остаться на своём месте.
Исходные данные
В pulse.log находятся строки opened, opened, checked, opened. Создайте compact.log с тремя событиями opened, checked, opened. Полная исходная история должна сохраниться.
Попробуйте в терминале
Виртуальные файлы · без доступа к вашей системе · Reset в любой момент
- В pulse.log находятся строки opened, opened, checked, opened. Создайте compact.log с тремя событиями opened, checked, opened. Полная исходная история должна сохраниться.
- Передайте журнал непосредственно в uniq, не сортируя. Вывод сохраните отдельно. Сравните первое и последнее opened: одинаковый текст не делает их одной соседней группой.
- Проверьте итоговые файлы и нажмите «Проверить». Reset восстановит исходный snapshot.
Подсказка 1
Передайте журнал непосредственно в uniq, не сортируя. Вывод сохраните отдельно. Сравните первое и последнее opened: одинаковый текст не делает их одной соседней группой.
Подсказка 2
Точное содержимое compact.log. Исходный pulse.log сохранён
Подсказка 3
Сравните свой порядок с решением ниже; допустимы другие команды с тем же конечным результатом.
Разбор решения
Это один из допустимых способов. Вводите команды по отдельности.
uniq pulse.log > compact.log
cat compact.logПорядок работы
Передайте журнал непосредственно в uniq, не сортируя. Вывод сохраните отдельно. Сравните первое и последнее opened: одинаковый текст не делает их одной соседней группой.
Условия приёмки
Точное содержимое compact.log.
Исходный pulse.log сохранён.
Разбор и границы применения
Сортировка перед uniq подходит для некоторых перечней, но разрушает эту хронологию. Проверка требует конкретную последовательность, поэтому набор из двух разных слов не считается правильным результатом.
Технические источники
Использованы для проверки поведения. Объяснения и учебные сценарии созданы для проекта.
- GNU Coreutils — документация утилит
Проверка текста: 2026-09-11. Нативное исполнение на всей матрице дистрибутивов ещё не подтверждено.
Основные понятия общие для Linux. Состав утилит, версии и системные настройки зависят от окружения.
От материала к практике
Выберите следующую тему в каталоге Linux или проверьте знакомые команды в учебном терминале.