|
0 / 0 / 0
Регистрация: 11.09.2018
Сообщений: 8
|
|
Аналог UNIX утилиты uniq на Go10.09.2021, 00:24. Показов 2659. Ответов 3
Метки нет (Все метки)
Всем доброго времени суток, господа формучане! Дорогие эксперты, направьте скитальца на путь истинный, подскажите как возможно реализовать эту функцию, какие структуры данных использовать и тд, как вообще грамотно это всё реализовать. Итак, задание:
Реализовать утилиту, с помощью которой можно вывести или отфильтровать повторяющиеся строки в файле (аналог UNIX утилиты uniq). Причём повторяющиеся входные строки не должны распозноваться, если они не следуют строго друг за другом. Сама утилита имеет набор параметров, которые необходимо поддержать. Параметры -с - подсчитать количество встречаний строки во входных данных. Вывести это число перед строкой отделив пробелом. -d - вывести только те строки, которые повторились во входных данных. -u - вывести только те строки, которые не повторились во входных данных. -f num_fields - не учитывать первые num_fields полей в строке. Полем в строке является непустой набор символов отделённый пробелом. -s num_chars - не учитывать первые num_chars символов в строке. При использовании вместе с параметром -f учитываются первые символы после num_fields полей (не учитывая пробел-разделитель после последнего поля). -i - не учитывать регистр букв. Использование uniq [-c | -d | -u] [-i] [-f num] [-s chars] [input_file [output_file]] Все параметры опциональны. Поведения утилиты без параметров -- простой вывод уникальных строк из входных данных. Параметры c, d, u взаимозаменяемы. Необходимо учитывать, что параллельно эти параметры не имеют никакого смысла. При передаче одного вместе с другим нужно отобразить пользователю правильное использование утилиты Если не передан input_file, то входным потоком считать stdin Если не передан output_file, то выходным потоком считать stdout Это всё на Go реализовать конечно же. В общем, буду ждать ваших идей, не стесняйтесь стучатся ко мне в личку, если есть желание помочь с этим, буду очень благодарен Всем добра!
0
|
|
| 10.09.2021, 00:24 | |
|
Ответы с готовыми решениями:
3
Есть код утилиты ping. На его основе нужно создать аналог утилиты traceroute Аналог утилиты nohup Аналог утилиты find |
|
|
||||||||||||||||
| 10.09.2021, 16:31 | ||||||||||||||||
0
|
||||||||||||||||
|
0 / 0 / 0
Регистрация: 11.09.2018
Сообщений: 8
|
|
| 10.09.2021, 19:46 [ТС] | |
|
Garry Galler, Спасибо Вам за помощь! Буду разбираться. Хотел бы услышать ваше мнение, как по вашему, лучше учитывать все эти флаги, которые вводит пользователь. Хотя бы какой логике стоит придерживаться. Меня вводят в ступор флаги -f num_fields и -s num_chars. Уже третий день ума не приложу как их использовать, особенно вместе с флагами -c -d -u -i и тд.
0
|
|
|
|
|
| 11.09.2021, 17:37 | |
|
D22,
Вот накидал по-быстрому базовый скелет проги: https://github.com/GarryGaller/uniq Добавлено через 1 час 1 минуту P.P.S. Изменил функциям сигнатуры с добавлением ignoreCase и добавил функцию FindPrefix.
1
|
|
| 11.09.2021, 17:37 | |
|
Помогаю со студенческими работами здесь
4
Аналог утилиты dir (C++) Разработать аналог утилиты ‘cp’ Аналог утилиты cut Собственный аналог утилиты FLIP Упрощенный аналог утилиты paste Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|