# grep с флагами: регистр и номера строк

Курс: Claude Code и терминал: с 0 — https://zero2claude.ru/learn/code-terminal
Канонический URL: https://zero2claude.ru/learn/code-terminal/3-3-grep-flagi

Флаги grep: -i игнорирует регистр, -n показывает номера строк, -v инвертирует поиск. Как их комбинировать.

В прошлом уроке `grep` искал слово точь-в-точь. Но «Анна» с большой буквы и «анна» с маленькой — для него это разные слова. Чтобы менять поведение команды, существуют **флаги**.

## Что такое флаги

Флаг — это маленькая добавка к команде, которая начинается с дефиса и меняет то, как команда работает. У `grep` есть несколько очень полезных флагов.

## -i — игнорировать регистр

Флаг `-i` (от *ignore case*) говорит grep не различать большие и маленькие буквы:

```
grep -i анна users.txt
```

Теперь команда найдёт и `Анна`, и `анна`, и даже `АННА`. Без флага она нашла бы только точное совпадение.

## -n — показать номера строк

Флаг `-n` (от *number*) добавляет перед каждой найденной строкой её номер в файле:

```
grep -n анна users.txt
```

Вывод будет выглядеть примерно так: `2:анна`. Это удобно, когда нужно быстро найти нужное место в большом файле.

## -v — найти строки БЕЗ слова

Флаг `-v` переворачивает логику: он покажет все строки, в которых слова **нет**:

```
grep -v ошибка log.txt
```

Так можно, например, убрать из лога все ошибки и посмотреть только «нормальные» строки.

Флаги можно объединять. Например, `grep -in анна users.txt` сразу и игнорирует регистр, и показывает номера строк. Порядок букв после дефиса не важен.

## Попробуй

Найди в файле `users.txt` все варианты имени «анна» без учёта регистра. Используй команду `grep -i анна users.txt`. Когда в выводе появится «Анна», урок зачтётся.
