### grep Использование
grep [options] template [file_name]
### grep Опции
| № | Опции | Описание |
| ------ | ------ | ------ |
| 1 | -e | Шаблон |
| 2 | -i | Игнорирует различия регистра. |
| 3 | -v | Инвертирует смысл поиска соответствий. |
| 4 | -c | Выводит только количество совпадающих строк. |
| 5 | -l | Выводит только совпадающие файлы. |
| 6 | -n | Предваряет каждую строку вывода номером строки из файла ввода. |
| 7 | -h | Выводит совпадающие строки, не предваряя их именами файлов. |
| 8 | -s | Подавляет сообщения об ошибках о несуществующих или нечитаемых файлах. |
| 9 | -f file | Получает регулярные выражения из файла. |
| 10 | -o | Печатает только совпадающие (непустые) части совпавшей строки. |
- Программы должны быть разработаны на языке Си стандарта C11 с использованием компилятора gcc
- Код программ cat и grep должен находиться в ветке develop в папках src/cat/ и src/grep/ соответственно
- Не использовать устаревшие и выведенные из употребления конструкции языка и библиотечные функции. Обращать внимания на пометки legacy и obsolete в официальной документации по языку и используемым библиотекам. Ориентироваться на стандарт POSIX.1-2017
- При написании кода необходимо придерживаться Google Style
- Программы должны представлять собой исполняемый файл с аргументами командной строки
- Сборка программ должна быть настроена с помощью Makefile с соответствующими целями: s21_cat, s21_grep
- Если используются сторонние библиотеки, в Makefile должны быть заложены сценарии сборки, предусматривающие их подключение/загрузку
- Необходимо покрытие интеграционными тестами для всех вариантов флагов и входных значений, на базе сравнения с поведением реальных утилит Bash
- Программа должна быть разработана в соответствии с принципами структурного программирования
- Необходимо исключить дублирование кода, переиспользовать общие модули между утилитами. Общие модули можно вынести в отдельную папку src/common
- Можно использовать стандартные и нестандартные библиотеки языка Си, можно использовать собственноручно разработанные библиотеки из других проектов
- Формулировка сообщения при возникновении ошибочной ситуации не имеет значения
- Ввод через stdin обрабатывать не обязательно
## Part 1.
Необходимо разработать утилиту cat:
- Поддержка всех флагов (включая GNU версии), указанных [выше](#cat-опции)
- Исходные, заголовочные и сборочный файлы должны располагаться в директории src/cat/
- Итоговый исполняемый файл должен располагаться в директории src/cat/ и называться s21_cat
## Part 2.
Необходимо разработать утилиту grep:
- Поддержка следующих флагов: -e, -i, -v, -c, -l, -n
- Для регулярных выражений можно использовать только библиотеки pcre или regex
- Исходные, заголовочные и make файлы должны располагаться в директории src/grep/
- Итоговый исполняемый файл должен располагаться в директории src/grep/ и называться s21_grep
## Part 3.Реализация некоторых флагов утилиты grep
Необходимо разработать утилиту grep:
- Поддержка всех флагов, включая: -h, -s, -f, -o
- Для регулярных выражений можно использовать только библиотеки pcre или regex
- Исходные, заголовочные и make файлы должны располагаться в директории src/grep/
- Итоговый исполняемый файл должен располагаться в директории src/grep/ и называться s21_grep
## Part 4.Реализация комбинаций флагов утилиты grep
Необходимо разработать утилиту grep:
- Поддержка всех флагов, включая их _парные_ комбинации (например, -iv, -in)
- Для регулярных выражений можно использовать только библиотеки pcre или regex
- Исходные, заголовочные и make файлы должны располагаться в директории src/grep/
- Итоговый исполняемый файл должен располагаться в директории src/grep/ и называться s21_grep
Любовь
БГТУ "Военмех"
Уже в который раз обращаюсь к исполнителю за помощью, и как всегда все отлично! Спасибо!)
Виктория
Сыктывкарский кооперативный техникум
Спасибо огромное, все сделано и очень быстро и результатом очень довольна!!!))) рекомендую
студент
Результаты поиска Веб-результат со ссылками на сайт Волгоградский государственный технический униве
Работа выполнена на отлично,специалист отзывчивый всегда на связи,всем рекомендую.
Егор
Томский политехнический университет
грамотное, логически стройное решение поставленных задач, готовность ответить на вопросы, ...