Публикации сообщества

Сергей Косаченко • 15 октября 2020

Решение задания №11 из демоверсии ОГЭ 2021 по информатике на ОС АльтОбразование 8.2 (linux)

Наш томский физико-технический лицей с 1 сентября 2020г. окончательно перевел учебные компьютеры в компьютерных классах на ОС АльтОбразование 8.2 (linux). Оснований для этого шага было несколько, но главное - распоряжение Администрации Томской области от 07.11.2018 №740-ра.

 

На сайте ФИПИ http://fipi.ru можно скачать демонстрационный вариант ОГЭ 2021 по информатике 9 класс.

 

Давайте скачаем и посмотрим на текст задания №11:

 

В одном из произведений А.П. Чехова, текст которого приведён в подкаталоге каталога Проза, героиня произносит такие слова: «Сегодня я в мерехлюндии, невесело мне, и ты не слушай меня». С помощью поисковых средств операционной системы и текстового редактора или браузера выясните имя этой героини.


Ответ: ___________________________.

 

В каталоге «Проза» несколько подкаталогов:

 

Гоголь

Гончаров

Грибоедов

Достоевский

Куприн

Лермонтов

Пушкин

Чехов

 

В каждом подкаталоге от одного до нескольких файлов с текстами в разных форматах (pdf, rtf, htm, txt), причем основная кодировка кириллических символов — cp1251. Запомним пока этот факт про кодировку русского текста, т. к. это основная кодировка для ОС Windows, а в современных версиях дистрибутивов Linux давно используется более современная кодировка UTF8, и попробуем найти способы решения этого задания в linux АльтОбразование 8.2.

 

Первая идея — стабильная, но долгая. В программах для просмотра файлов определенных форматов (а, я проверил, что в ОС АльтОбразование 8.2 все эти файлы можно корректно программами открыть и прочесть, несмотря на «неродную» кодировку cp1251, – в этом проявляется гибкость и мощь Linux) последовательно открыть тексты из папки «Чехов» и поиском по документу (вызывается нажатием комбинации клавиш на клавиатуре Ctrl + F) поискать редкую комбинацию слов или редкое слово. Отличным кандидатом на поиск является слово «мерехлюндии». Если такое слово находим, то посмотреть внимательно фрагмент текста, где было обнаружено это слово, чтобы определить имя героини, произнесшей эти слова. Да, такая цепочка операций по последовательному открытию каждого файла и поиска по содержанию приведет нас к результату, но и займет немало времени.

 

Вторая идея — плохая, нерабочая. Воспользоваться инструментом поиска в графическом приложении «Менеджер файлов» по содержанию в папке «Чехов». Действительно, такой инструмент поиска есть, более того, можно подгрузить несколько внешних сторонних программ для поиска, но здесь меня постигла неудача, все программы поиска не помогли найти ответ. Файлы содержат русский текст в кодировке cp1251, а операционная система АльтОбразование 8.2 и соответственно программы в ней работает в кодировке UTF8. В общем, такой вариант у меня не сработал — результат поиска не выдавал. Полагаю, что если бы нужно было искать латинский текст, то, возможно, результат был бы получен.

 

Третья идея — скоростная, хакерская. Воспользуемся консолью (то, что в Windows называют командной строкой, но круче и мощнее, что даже заставило программистов Microsoft перенести ее в среду Windows в проекте PowerShell), а точнее тремя программами find, pdftotext и grep, но запущенными одной командой, так, чтобы информация передавалась между ними и обрабатывалась последовательно.

Find – утилита для поиска, будем с ее помощью искать все pdf-файлы в текущем подкаталоге и передавать на обработку следующей программе pdftotext.

Pdftotext – программа, преобразующая pdf-файл в текст, причем в корректной для операционной системы кодировке.

Grep – утилита, которая поможет нам быстро найти во всем тексте то самое редкое слово «мерехлюндии» и еще покажет шесть строк до и шесть после найденного слова, чтобы мы смогли определить имя героини, за это отвечает параметр -C6.

Запускаем консоль, переходим в ней в папку «Проза» и запускаем вот такую команду:

 

find -name "*.pdf" -exec pdftotext -layout "{}" - \; | grep -C6 "мерехлюндии"

 

И в приведенном фрагменте видим имя героини, которой принадлежат эти слова.

Ответ: Маша

 

P.S.: Сотрудники компании Базальт, предложили еще один способ: установить recoll-full из репозитория и использовать Recoll

https://packages.altlinux.org/ru/p8/srpms/recoll

Нужно будет попробовать.

Оцените материал:
Поделитесь ссылкой: