Следите за новостями GitVerse в нашем телеграм-канале

SimpleBashUtils

Форк
0

год назад
год назад
5 месяцев назад
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 Вы можете самостоятельно в настройках Вашего браузера.