SimpleBashUtils

Форк
0

год назад
год назад
3 месяца назад
README.md

Документация по проекту: Реализация утилит cat и grep

Глава I: Введение

Проект представляет собой реализацию двух утилит командной строки на языке программирования C: cat и grep. Эти утилиты предназначены для работы с текстовыми файлами и предоставляют функционал, аналогичный известным утилитам в Unix-подобных системах. Реализация соответствует стандарту C11 и требованиям POSIX.1-2017.

Глава II: Функциональность

Утилита cat

Описание:

Утилита cat предназначена для отображения содержимого текстовых файлов, их объединения и создания новых файлов. Она поддерживает следующие функции:

  1. Отображение содержимого файла: Команда выводит содержимое указанного файла на стандартный вывод.
  2. Объединение файлов: Возможность объединения нескольких файлов в один.
  3. Создание новых файлов: Создание нового файла путем записи содержимого исходных файлов.

Поддерживаемые опции:

  • -b: Нумерует только непустые строки.
  • -e: Отображает символы конца строки как $.
  • -n: Нумерует все строки.
  • -s: Сжимает несколько смежных пустых строк.
  • -t: Отображает табуляции как ^I.

Файлы исходного кода и сборки утилиты расположены в директории src/cat/. Итоговый исполняемый файл называется s21_cat.

Утилита grep

Описание:

Утилита grep предназначена для поиска строк, соответствующих заданному шаблону, в текстовых файлах. Она предоставляет функционал для работы с регулярными выражениями и фильтрации данных.

Поддерживаемые опции:

  • -e: Определяет шаблон для поиска.
  • -i: Игнорирует различия регистра.
  • -v: Инвертирует результат поиска (выводит строки, не соответствующие шаблону).
  • -c: Выводит только количество совпадающих строк.
  • -l: Выводит имена файлов, содержащих совпадения.
  • -n: Предваряет каждую строку номером.
  • -h: Не выводит имена файлов.
  • -s: Подавляет сообщения об ошибках.
  • -f file: Получает шаблоны из файла.
  • -o: Печатает только совпадающие части строки.

Файлы исходного кода и сборки утилиты расположены в директории src/grep/. Итоговый исполняемый файл называется s21_grep.

Дополнительные опции (необязательно реализованные):

  • Поддержка опций -h, -s, -f, -o в улучшенной версии утилиты grep.
  • Поддержка комбинаций флагов, таких как -iv и -in.

Глава III: Технические детали

Язык программирования и стандарты:

  • Код написан на языке C стандарта C11.
  • Используется компилятор gcc.
  • Ориентирование на стандарт POSIX.1-2017.
  • Следование стилю кода Google Style.

Сборка и тестирование:

  • Сборка выполняется с помощью Makefile.
  • Для интеграционного тестирования использованы реальные утилиты Bash для сравнения.
  • Программное обеспечение разделено на модули для переиспользования кода и облегчения поддержки.

Структура проекта:

  • Исходные и заголовочные файлы для cat и grep расположены в папках src/cat/ и src/grep/ соответственно.

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.