Использование команды grep в Linux - примеры

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

Синтаксис

Синтаксис может быть следующим:

grep 'word' filename
grep 'word' file1 file2 file3
grep 'string1 string2'  filename
cat otherfile | grep 'something'
command | grep 'something'
command option1 | grep 'data'
grep --color 'data' fileName

Поиск по файлу

Чтобы выполнить поиск пользователя boo в файле /etc/passwd запустите:

$ grep boo /etc/passwd

Вывод будет примерно таким:

boo:x:1000:1000:boo,,,:/home/boo:/bin/ksh

Так же вы можете выполнить регистронезависимый поиск строки boo
(например, bOo, Boo, BOO и т.п.):

$ grep -i "boo" /etc/passwd

Рекурсивный поиск

Можно искать во всех файлах в каталоге:

$ grep -r "192.168.1.5" /etc/

или

$ grep -R "192.168.1.5" /etc/

Пример ла, в котором встречается искомая строка (например,
/etc/ppp/options). Такое поведение можно отключить, т.е. grep не будет
вставлять в результаты поиска имена файлов, добавив ключ -h:

$ grep -h -R "192.168.1.5" /etc/

или

$ grep -hR "192.168.1.5" /etc/

Пример вывода:

# ms-wins 192.168.1.50
# ms-wins 192.168.1.51
addresses1=192.168.1.5;24;192.168.1.2;

Использование grep для поиска только слов

Если вы ищете boo, то grep найдет и такое сочетание fooboo, boo123,
123boofoo и т.п. Для того чтоб grep нашел именно слово boo можно указать
ключ -w:

$ grep -w "boo" file

Поиск двух разных слов

$ egrep -w 'word1|word2' /path/to/file

Подсчет количества

grep может посчитать количество вхождений слова в файл:

$ grep -c 'word' /path/to/file

Опция -n позволит вывести пронумерованные строки из файла номером этой
строки:

$ grep -n 'root' /etc/passwd

Пример вывода:

1:root:x:0:0:root:/root:/bin/bash
1042:rootdoor:x:0:0:rootdoor:/home/rootdoor:/bin/csh
3319:initrootapp:x:0:0:initrootapp:/home/initroot:/bin/ksh

Инвертированный вывод

Вы можете использовать параметр -v для инвертирования вывода, т.е.
вывести все строки кроме тех, в которых встречается искомое слово:

$ grep -v bar /path/to/file

Unix / Linux конвеер и grep

grep можно комбинировать с конвеером
(pipe).
Этот пример выведет имена жестких дисков:

# dmesg | egrep '(s|h)d[a-z]'

Показать модель CPU:

# cat /proc/cpuinfo | grep -i 'Model'

Эта же команда может быть выполнена по другому без pipe:

# grep -i 'Model' /proc/cpuinfo

Пример вывода:

model       : 30
model name  : Intel(R) Core(TM) i7 CPU       Q 820  @ 1.73GHz
model       : 30
model name  : Intel(R) Core(TM) i7 CPU       Q 820  @ 1.73GHz

Вывести только список файлов

Передав параметр -l можно вывести только имена файлов:

$ grep -l 'main' *.c

И, наконец, можно вывести результат с подсветкой:

$ grep --color vivek /etc/passwd

Read more

Самохостниг (часть 10) - AudiobookShelf

Самохостниг (часть 10) - AudiobookShelf

AudiobookShelf - это бесплатный сервер аудиокниг и подкастов с открытым исходным кодом. Он позволяет вам организовать вашу коллекцию аудиокниг и подкастов, следить за прогрессом прослушивания и синхронизировать его между устройствами. В этой статье мы рассмотрим, как установить AudiobookShelf с помощью Docker Compose и настроить его работу через Traefik. Предварительные требования

Обзор reMarkable 2

Обзор reMarkable 2

В мире технологий появляются устройства, которые не только выполняют свои функции, но и становятся символами статуса и стиля. Одним из таких устройств является reMarkable 2 — уникальный гибрид электронной читалки и записной книжки, который произвёл фурор на Западе и теперь доступен в России. Давайте разберёмся, что делает этот девайс таким особенным

Plex повышает цены: что изменится и стоит ли спешить с покупкой?

Plex повышает цены: что изменится и стоит ли спешить с покупкой?

С 29 апреля 2025 года Plex значительно увеличит стоимость подписок и изменит условия бесплатного использования. Рассказываем, кому выгодно купить лицензию сейчас, а кому — лучше перейти на альтернативы. Что случилось? Plex, популярный медиасервер и каталогизатор контента, объявил о повышении цен на все виды подписки: * Месячная — с $4.99 до $6.99

Самохостинг (часть 9) - Arr stack + медиатека

Самохостинг (часть 9) - Arr stack + медиатека

В этой статье я расскажу, как настроить полноценную систему автоматического скачивания и организации медиаконтента с помощью Sonarr (для сериалов), Radarr (для фильмов), Lidarr (для музыки), Jackett (для поиска по трекерам) и qBittorrent (для загрузки торрентов). Эта экосистема интегрируется с Plex, о котором у нас уже есть отдельная статья. Что мы