grep (поиск файлов по содержимому)

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

Ответить
Аватара пользователя
ArkanJR
Сообщения: 1166
Статус: Профан

grep

Сообщение ArkanJR »

Хотел бы уточнить: содержимое можно задать только в виде слова или же данной утилите можно "скормить" и фразу?
10% — это 0,1.
© Bizdelnick
Спасибо сказали:
Kopilov
Сообщения: 949
ОС: [K]Ubuntu, Debian

Re: grep

Сообщение Kopilov »

Если я правильно Вас понял -- можно, только в кавычках -- как и почти любой GNU-утилите:

Код: Выделить всё

grep -R "что ищем" где
Ещё оно с регулярными выражениями работать умеет.
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: grep

Сообщение Hephaestus »

Более того, можно скормить из файла, содержащего более одной строки. Ключ -f.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20792
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: grep

Сообщение Bizdelnick »

ArkanJR писал(а):
20.05.2015 20:21
содержимое можно задать только в виде слова или же данной утилите можно "скормить" и фразу?

Утилите «скармливается» не слово и не фраза, а регулярное выражение. Но Вам, видимо, для начала нужно почитать что-то по основам работы в командной строке. Вот это, например.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
ArkanJR
Сообщения: 1166
Статус: Профан

Re: grep

Сообщение ArkanJR »

Kopilov писал(а):
20.05.2015 20:30
Если я правильно Вас понял -- можно, только в кавычках -- как и почти любой GNU-утилите:

Код: Выделить всё

grep -R "что ищем" где

Да, я именно об этом.
10% — это 0,1.
© Bizdelnick
Спасибо сказали:
DONBASS
Сообщения: 50
ОС: macOS

Re: grep

Сообщение DONBASS »

Сам только начал изучать консоль.
Опыт у меня не практический, а начитанный.
grep - понимает некоторые регулярные выражения.
egrep - понимает все регулярные выражения
fgrep - игнорирует синтаксис регулярных выражений
rgrep - ищет рекурсивно
По grep много информации, некоторые сайты освещают эту команду лучше wiki.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20792
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: grep

Сообщение Bizdelnick »

DONBASS писал(а):
21.05.2015 22:55
grep - понимает некоторые регулярные выражения.
egrep - понимает все регулярные выражения

Не так. У них разный синтаксис, у egrep — более продвинутый (расширенный). Но это не значит, что регулярное выражение grep (с базовым синтаксисом) всегда будет корректным для egrep.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: grep

Сообщение SLEDopit »

DONBASS писал(а):
21.05.2015 22:55
grep - понимает некоторые регулярные выражения.
egrep - понимает все регулярные выражения
fgrep - игнорирует синтаксис регулярных выражений
rgrep - ищет рекурсивно
вы man не пробовали по grep'y почитать?
там это всё разжёвано проще некуда:

Код: Выделить всё

       In addition, three variant programs egrep, fgrep and rgrep are available.  egrep is the same as grep -E.
       fgrep is the same as grep -F.  rgrep is the same  as grep -r.  Direct invocation as either egrep or fgrep
       is deprecated, but is provided to allow historical applications that rely on them to run unmodified.

Ну а про -E, -F и -r в том же man'e но чуть ниже всё тоже подробно расписано.
обратите внимание на явное указание, что egrep и fgprep is deprecated.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
DONBASS
Сообщения: 50
ОС: macOS

Re: grep

Сообщение DONBASS »

Bizdelnick писал(а):
21.05.2015 23:00
Не так. У них разный синтаксис, у egrep — более продвинутый (расширенный). Но это не значит, что регулярное выражение grep (с базовым синтаксисом) всегда будет корректным для egrep.

Обычно новичкам советую воспользоваться поиском в google... теперь необходимо проверять найденное на подлинность. Уже не раз натыкался на инструкции, которые не срабатывают. Похоже освоить bash самостоятельно, глупая затея.
Незная английского и похоже у меня не математический склад ума. Читаю я эти книги, равносильно, что китайски...

SLEDopit писал(а):
21.05.2015 23:50
вы man не пробовали по grep'y почитать? там это всё разжёвано проще некуда:

Код: Выделить всё

       In addition, three variant programs egrep, fgrep and rgrep are available.  egrep is the same as grep -E.
       fgrep is the same as grep -F.  rgrep is the same  as grep -r.  Direct invocation as either egrep or fgrep
       is deprecated, but is provided to allow historical applications that rely on them to run unmodified.

Ну а про -E, -F и -r в том же man'e но чуть ниже всё тоже подробно расписано.
обратите внимание на явное указание, что egrep и fgprep is deprecated.

Ни чего из этого не понятно. Там же на английском написано. Поэтому и ищу информацию по всему инету.
В полной мере я не могу доказать свои примеры и опровергнуть Ваши, но в следующий раз когда воспользуюсь командой grep я учту Ваши замечания.
P.S. из иностранных языков, раньше понимал и мог ответить только на итальянском, но за не надобностью забывается.
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: grep

Сообщение Hephaestus »

DONBASS писал(а):
22.05.2015 11:30
Ни чего из этого не понятно. Там же на английском написано.
translate.google.com в помощь.
Тексты манов - это всё же не Шекспир, поэтому машинный перевод + собственная голова позволяют понять, что написано.

DONBASS писал(а):
22.05.2015 11:30
P.S. из иностранных языков, раньше понимал и мог ответить только на итальянском, но за не надобностью забывается.
Маны переведены на многие языки. Возможно, и на итальянском есть.
Конечно, это касается не всех манов и не всех языков, но посмотреть можно.
На худой конец здесь...
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20792
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: grep

Сообщение Bizdelnick »

Hephaestus писал(а):
22.05.2015 12:03
Маны переведены на многие языки. Возможно, и на итальянском есть.

Да и на русском есть. Только я их у себя грохнул на фиг, чтобы не мешались, потому как они в большинстве своём давно утратили актуальность.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
moshell
Сообщения: 27

Re: grep

Сообщение moshell »

Jeffrey Friedl's Mastering Regular Expressions

есть в русском. библия регулярных выражений. после прочтения сможете найти и чЁрта лысого
Спасибо сказали:
Аватара пользователя
s.xbatob
Сообщения: 1139
ОС: Fedora

Re: grep

Сообщение s.xbatob »

moshell писал(а):
25.10.2015 01:51
библия регулярных выражений. после прочтения сможете найти и чЁрта лысого

Библия - в смысле мутно, неоднозначно, запутанно и непонятно? :)
Кстати, в настоящей библии никаких чертей нет.
Спасибо сказали:
moshell
Сообщения: 27

Re: grep

Сообщение moshell »

я сначала не понял. но теперь понял

ты троль. толстый.
Спасибо сказали:
Ответить